Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 03:42

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Zahlen sprachlich ausgeben

Discussion on Zahlen sprachlich ausgeben within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
Crystal M0th's Avatar
 
elite*gold: 70
Join Date: Apr 2011
Posts: 423
Received Thanks: 49
Zahlen sprachlich ausgeben

Hallo,

ich will ein Pgramm schreiben, dass eine 4 stellige Zahl einliest und sie dann sprachlich ausgibt:
z.B.: 1234 ---> eins-zwei-drei-vier

Nun ich hab das was geschrieben, allerdingst funktioniert das nur mit einer einstelligen Zahl, ich komm da jetzt nicht weiter, wie soll ichs machen?

Code:
#include <iostream>
using namespace std;

int main()
{
	int z;

	cout << "Geben sie eine Zahl ein: " << endl;
	cin >> z;

	if(z==1)
	{
		cout << "Eins" << endl;
	}
	else
	{
	}

	if(z==2)
	{
		cout << "Zwei" << endl;
	}
	else
	{
	}

	if(z==3)
	{
		cout << "Drei" << endl;
	}
	else
	{
	}

	if(z==4)
	{
		cout << "Vier" << endl;
	}
	else
	{
	}

	if(z==5)
	{
		cout << "Fünf" << endl;
	}
	else
	{
	}

	if(z==6)
	{
		cout << "Sechs" << endl;
	}
	else
	{
	}

	if(z==7)
	{
		cout << "Sieben" << endl;
	}
	else
	{
	}

	if(z==8)
	{
		cout << "Acht" << endl;
	}
	else
	{
	}

	if(z==9)
	{
		cout << "Neun" << endl;
	}
	else
	{
	}

	if(z==0)
	{
		cout << "Null" << endl;
	}
	else
	{
	}

	system("PAUSE");

	return  0;
}
LG Doc.
Crystal M0th is offline  
Old 10/27/2013, 16:01   #2
 
elite*gold: 0
Join Date: Aug 2012
Posts: 236
Received Thanks: 94
Du kannst die letzte Zehnerstelle einer Zahl mithilfe des Modulo-Operators herausfinden. Danach kannst du die Zahl durch Zehn dividieren und somit die letzte Stelle streichen. So kannst du die Zahl "rückwärts" ausgeben. Wenn du dann noch vorher die Ziffern speicherst und in umgekehrter Reihenfolge ausgibst, hast du auch schon das erwünschte Format.
Wenn du es dir einfach machen möchtest, kannst du auch stattdessen std::to_string nutzen und dann die Zeichen durchgehen.
Tasiro is offline  
Thanks
1 User
Old 10/27/2013, 17:32   #3


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Du solltest dir einmal Schleifen und Verzweigungen ansehen.
Else ist übrigens optional und muss nicht angegeben werden, wenn man es eh leer lässt.
MrSm!th is offline  
Old 10/28/2013, 21:25   #4


 
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
Code:
	std::string input = "1234";	// input kommt von cin in Form eines strings

	for(char n : input)	// for Schleife um durch jedes Zeichen im String zu iterieren
	{
		switch(input[n]) // switch
		{
			case '1': {		std::cout << "Eins"; break;		}
			case '2': {		std::cout << "Zwei"; break;		}
			case '3': {		std::cout << "Drei"; break;		}
			case '4': {		std::cout << "Vier"; break;		}
		}
	}
Hätte es nun so gelöst. Wie dein derzeitiger Wissensstand aussieht weiß ich nun nicht, allerdings solltest du dir die Strukturen mal anschauen wenn du sie noch nicht kennst.
Mostey is offline  
Old 10/28/2013, 21:42   #5
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Der Wert von n ist undefiniert und der Zugriff auf n führt zu undefinierten Verhalten.
Dein Snippet oben kompiliert und ausgeführt könnte ergo funktionieren, abstürzen, einen Keylogger installieren oder eine nukleare Explosion provozieren (zusätzliche Hardware vorrausgesetzt).

Ausserdem nimmt man zum Iterieren nichtmehr den Index, sondern einen Iterator oder kürzer gleich die range-based-loop.

Sowas in der Art:
Code:
#include <iostream>
#include <map>
#include <string>

int main()
{
	std::map<char, std::string> table = {
		{'0', "Null"},
		{'1', "Eins"},
		{'2', "Zwei"},
		{'3', "Drei"},
		{'4', "Vier"},
		{'5', "Fünf"},
		{'6', "Sechs"},
		{'7', "Sieben"},
		{'8', "Acht"},
		{'9', "Neun"}};

	const std::string inp = "12378";
	for(char c : inp)
	{
		if(table.find(c) != std::end(table))
			std::cout << table[c] << std::endl;
	}
}
Ist ausm Kopf und nicht getestet.
Schlüsselbein is offline  
Thanks
4 Users
Old 10/29/2013, 02:12   #6



 
+Yazzn's Avatar
 
elite*gold: 420
Join Date: Jan 2012
Posts: 1,082
Received Thanks: 1,000
system("PAUSE") - Wo lernt man sowas?!?!
+Yazzn is offline  
Old 10/29/2013, 18:26   #7
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
In der Uni. Aber wir wissen, dass es plattformabhängig ist.
qkuh is offline  
Old 10/30/2013, 05:28   #8
 
Hiris's Avatar
 
elite*gold: 99
Join Date: Apr 2011
Posts: 730
Received Thanks: 236
Quote:
Originally Posted by qkuh View Post
In der Uni. Aber wir wissen, dass es plattformabhängig ist.
Was nicht der einzige Grund ist warum man es nicht verwendet xD
Hiris is offline  
Old 10/31/2013, 21:07   #9
 
elite*gold: 159
Join Date: Jun 2013
Posts: 1,776
Received Thanks: 2,004
Quote:
Originally Posted by Hiris View Post
Was nicht der einzige Grund ist warum man es nicht verwendet xD
Kann er ja nichts für. Wir haben es auch so gelernt. Es wurde zwar ausdrücklich erwähnt, dass man das nicht verwenden sollte aber das für den Anfang erstmal ok ist und man dazu später kommt.
Brendan Jordan is offline  
Reply


Similar Threads Similar Threads
Für wow geld ausgeben oder für free to play games geld ausgeben?
09/22/2013 - General Gaming Discussion - 5 Replies
Hallo, was meint ihr sollte man für freetoplay spiel, wo paytowin herrscht, dafür sein Geld ausgeben, damit man für eine permanente (Beispiel) waffe 25€ ausgibt oder sollte man das Geld lieber in wow reinstecken und halt nur ne begrenzte Zeit spielen, man kann bei freetoplay ja immer spielen, aber bei wow hast du ja alle "Waffen" für immer, also was meint ihr sollte man in wow das Geld reinstecken oder eher in ein paytowin system es reinsteken? :)
C# Natürliche Zahlen ausgeben
10/02/2012 - C/C++ - 6 Replies
Hallöchen, auch wenn, das der C/C++ Bereich ist , hoffe ich hier erklärung zu finden. Zu meiner Frage : Es soll eine Integer-Zahl von der Tastatur eingelesen und anschließend sollen alle natürlichen Zahlen bis zu dieser Zahl auf dem Bildschirm ausgegeben werden. Das soll mit einer for-Schleife gelöst werden.
Mysql in php ausgeben
10/21/2011 - Web Development - 14 Replies
Hey, ich habe mir mal hier etwas zusammen gebastelt und eine frage : <?php $con = mysql_connect("localhost", "root", "122234") or die('Could not connect to database'); mysql_select_db("Status") or die('Could not select database'); $result = mysql_query("SELECT * FROM `Status1` "); if($result){ while ($row = mysql_fetch_array($result, MYSQL_NUM)){ echo $row . ";" . $row . ";" . $row . ";" . $row . ";" . $row . ";" . $row . ";" . $row . ";" . $row . ";" . $row . ";" . $row . ";" . $row...
Ich will 44 e*g ausgeben ;)
08/16/2011 - elite*gold Trading - 6 Replies
Also bietet mir was an :) Was ich NICHT suche : Avatar Youtube Bot Youtube Acc´s Was ich suche :



All times are GMT +1. The time now is 03:52.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.