Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
01.09.10, 14:48
|
#1
|
Newbie
Registriert seit: Dec 2009
Beiträge: 67
Bedankt: 20
|
C Programmierung Variablen
ich hab mal ne frage ich hab en wenig ausprobiert mit C jedoch denk ich das ich den falschen Variablentyp habe kann mir jemand sagen welcher hierfür der richtige ist oder ob ich da totalen Müll zusammen geschrieben habe  kenne mich noch nicht gut aus mit C
Code:
/* Steckbief */
#include <stdio.h>
main(){
int a,b,c,d;
printf("\nBitte name eingben :");
scanf("%i",&a);
printf("\nBitte nachname eingben :");
scanf("%i",&b);
printf("\nBitte e-mail eingben :");
scanf("%i",&c);
printf("\nBitte alter eingben :");
scanf("%i",&d);
printf("name:%i"a);
printf("nachname= %i"b);
printf("e-mail= %i"c;
printf("alter= %i"d);
ich hab gelesen das int ein Variablentyp ist der Ganzzahlen speichert aber ob das stimmt weiß ich auch nicht sicher 
wäre super wenn mit jemand helfen kann falls ich da was falsch mache sagst es mir bitte
MFG GayFish
|
|
|
01.09.10, 15:10
|
#2
|
Banned
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
|
Stimmt int ist für Ganzzahlen.
Für zeichenketten musst du ein char array benutzen.
z.B.
Code:
char name[256];
scanf("%s", &name);
Hier kannst einen Namen mit einer Länge von 255 zeichen speichern. Der Nutzer könnte aber auch 300 Zeichen eingeben.
besser wär
Code:
scanf("%255s", &name);
mit der 255 zwischen % und s verhinderst du das mehr als 255 zeichen in name geschrieben werden.
(255 statt 256 weil scanf() nach der eingegebenen Zeichenkette noch eine Binäre NULL anhängt)
|
|
|
01.09.10, 15:48
|
#3
|
Newbie
Registriert seit: Dec 2009
Beiträge: 67
Bedankt: 20
|
danke ich hab da jetzt nochmal ein bisschen umgeschrieben jedoch klappt das ganze immer noch nicht ich bekomme bei meiner Programmierumgebung immer Fehler angezeigt könntest du mir sagen was daran noch Falsch ist ?
Code:
/* Steckbief */
#include <stdio.h>
main(){
char name[201], nachname[201], e-mail[201], alter[201];
printf("\nBitte name eingben :");
scanf("%200s", &name);
printf("\nBitte nachname eingben :");
scanf("%200s", &nachname);
printf("\nBitte e-mail eingben :");
scanf("%200s", &e-mail);
printf("\nBitte alter eingben :");
scanf("%200s", &alter);
printf("name:%s"name);
printf("nachname=%s"nachname);
printf("e-mail=%s"e-mail);
printf("alter=%s"alter);
getchar ();
return 0;
}
MFG GayFish
|
|
|
01.09.10, 18:07
|
#4
|
Banned
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
|
Code:
printf("name:%s"name);
printf("nachname=%s"nachname);
printf("e-mail=%s"e-mail);
printf("alter=%s"alter);
da fehlt überall das Komma nach den "
|
|
|
01.09.10, 18:43
|
#5
|
xor eax, eax
Registriert seit: Sep 2009
Beiträge: 596
Bedankt: 466
|
@TE
Gewöhne dir gleich den Standard an:
Code:
int main()
{
...
return 0;
}
oder falls du dem Programm Argumente übergeben möchtest:
Code:
int main(int argc, char **argv)
{
...
return 0;
}
Ansonsten hat gosha schon entsprechend korrigiert.
Viele Grüße,
haze303
__________________
Desktop: Arch Linux | Laptop: Arch Linux
VM: Windows 7, Windows XP, Fedora 14, Arch, Windows Server 2008 R2 Enterprise
|
|
|
01.09.10, 19:38
|
#6
|
Newbie
Registriert seit: Dec 2009
Beiträge: 67
Bedankt: 20
|
oke erstmal vielen dank für die hilfe jedoch hats nochnet geklappt warum weiß ich auch nicht  ich will euch nicht nerven aber wenn ihr da nochmal drüber schauen würdet wäre super wenn ihr die fehlermeldungen wissen wollt kann ich die auch mal dazuschreiben ich benutze Dev-C++
Code:
/* Steckbief */
#include <stdio.h>
1 main (char name[201], nachname[201], e-mail[201], alter[201]){
printf("\nBitte name eingben :");
2 scanf("%200s", &name);
printf("\nBitte nachname eingben :");
3 scanf("%200s", &nachname);
printf("\nBitte e-mail eingben :");
4,5 scanf("%200s", &e-mail);
printf("\nBitte alter eingben :");
6 scanf("%200s", &alter);
printf("name:%s",name);
printf("nachname=%s",nachname);
printf("e-mail=%s",e-mail);
printf("alter=%s",alter);
getchar ();
return 0;
}
Fehlermeldungen
1 syntax error befor "nachname" in function `main':
2 `name'undeclared(first use in this function)(Each undeclared identifier is reported only oncefor each function it appears in.)
3 `nachname' undeclared (first use in this function) -> scanf("%200s", &nachname);
4 `e' undeclared (first use in this function) -> scanf("%200s", &e-mail);
5 `mail' undeclared (first use in this function) -> scanf("%200s", &e-mail);
6 `alter' undeclared (first use in this function) -> scanf("%200s", &alter);
MFG GayFish
|
|
|
01.09.10, 21:58
|
#7
|
Newbie
Registriert seit: Jun 2009
Beiträge: 74
Bedankt: 26
|
Fang am besten mal ganz locker von vorne an...
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
|
|
|
02.09.10, 02:12
|
#8
|
Banned
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
|
du hast Haze falsch verstanden.
Die Variablen kommen nach wie vor hinter main() {
|
|
|
02.09.10, 06:04
|
#9
|
$Mafia$Assassin§
Registriert seit: Apr 2009
Beiträge: 94
Bedankt: 98
|
Zitat:
Zitat von gosha16
du hast Haze falsch verstanden.
Die Variablen kommen nach wie vor hinter main() {
|
Nicht unbedingt.
Es gibt ja auch globale Variablen, aber davon die Finger lassen, sollte im Buch auch stehen warum!
|
|
|
02.09.10, 13:11
|
#10
|
Banned
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
|
Zitat:
Zitat von Iljaassassin
Nicht unbedingt.
Es gibt ja auch globale Variablen, aber davon die Finger lassen, sollte im Buch auch stehen warum!
|
Ja, verwirr ihn jetz ruhig noch mehr...
|
|
|
06.09.10, 19:48
|
#11
|
Newbie
Registriert seit: Dec 2009
Beiträge: 67
Bedankt: 20
|
ich bedanke mich für eure antworten vielen dank für die Musterlösung ich denke ich werde mal neu von Anfang an anfangen mit "C von A bis Z" denn das Buch was ich bis jetzt benutzt habe ist mir zu Kompliziert ("C Programmierung von Anfang an" von "Helmut Erlenkötter")
MFG GayFish
|
|
|
06.09.10, 20:02
|
#12
|
Freizeit-Troll :>
Registriert seit: May 2009
Beiträge: 2.269
Bedankt: 611
|
Bah, ohne [code]-Tags ist das ein ziemliches Durcheinander. Hab das mal geändert. Alles
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 Uhr.
().
|