|
You last visited: Today at 03:42
Advertisement
Zahlen sprachlich ausgeben
Discussion on Zahlen sprachlich ausgeben within the C/C++ forum part of the Coders Den category.
10/27/2013, 14:40
|
#1
|
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.
|
|
|
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.
|
|
|
10/27/2013, 17:32
|
#3
|
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.
|
|
|
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.
|
|
|
10/28/2013, 21:42
|
#5
|
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.
|
|
|
10/29/2013, 02:12
|
#6
|
elite*gold: 420
Join Date: Jan 2012
Posts: 1,082
Received Thanks: 1,000
|
system("PAUSE") - Wo lernt man sowas?!?!
|
|
|
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.
|
|
|
10/30/2013, 05:28
|
#8
|
elite*gold: 99
Join Date: Apr 2011
Posts: 730
Received Thanks: 236
|
Quote:
Originally Posted by qkuh
In der Uni. Aber wir wissen, dass es plattformabhängig ist.
|
Was nicht der einzige Grund ist warum man es nicht verwendet xD
|
|
|
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
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.
|
|
|
 |
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.
|
|