myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   C Programmierung Variablen (https://mygully.com/showthread.php?t=2109381)

GayFish 01.09.10 14:48

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 :D 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 :D
wäre super wenn mit jemand helfen kann falls ich da was falsch mache sagst es mir bitte

MFG GayFish:T

gosha16 01.09.10 15:10

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)

GayFish 01.09.10 15:48

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

gosha16 01.09.10 18:07

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 "

haze303 01.09.10 18:43

@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

GayFish 01.09.10 19:38

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

Banghard 01.09.10 21:58

Fang am besten mal ganz locker von vorne an...

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

gosha16 02.09.10 02:12

du hast Haze falsch verstanden.

Die Variablen kommen nach wie vor hinter main() {

Iljaassassin 02.09.10 06:04

Zitat:

Zitat von gosha16 (Beitrag 21200917)
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!

gosha16 02.09.10 13:11

Zitat:

Zitat von Iljaassassin (Beitrag 21201068)
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... :dozey:

GayFish 06.09.10 19:48

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

ThePinsel 06.09.10 20:02

Bah, ohne [code]-Tags ist das ein ziemliches Durcheinander. Hab das mal geändert. Alles :T


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.