C Prob !

SNHobs

Grünschnabel
Also ich gehe auf eine neue Schulform bei uns in Nordhessen. Sie umfasst eine Vorbereitung auf ein Informatikstudium, und wir lernen C...
Jetzt haben wir angefangen mit C zu arbeiten und ich habe vor mich tiefer damit zu beschäftigen
Nun habe ich ein Problem

Ich will das er erst einen Eingabe fordert die der Name sein soll : Das habe ich so formuliert:

printf("Bitte gib deinen Namen ein und drücke enter ");
scanf("%d",&u);

das geht auch..
doch wenn ich jetzt noch eine 2te Abfrage für die Variabilität der darzustellenden Zeichen einbaue mukkt er rum. ich habe das nanach so formuliert, dass es x abfragen soll :

printf("\n Bitte eine ganze ungerade Zahl als Kreuzgroeße eingeben : ");
scanf("%d",&x);

hier folgen ein paar for schleifen....

später werden die beiden nochmals ausgegeben mit
printf("bla bla %d", x(oder u));
das geht ebenfalls aber nur mit einem...woran liegt das ?
 
das is ja das witzige :
Er gibt keine aus er kompiliert das ding einfach und wenn ich die exe starte verfällt er nach der ersten eingabe in eine endlosschleife
 
k is echt nurn popel prog
ne ganz popelige version gibts hier
http://mitglied.lycos.de/hanselbackenvieh/Hobs1st.exe

Hier der jetzige volle Code:

/************************************************************
* Programm : Kreuz *
* Autor : David Rimbach *
* Datei : main.c *
* Version : 1.3 *
* Beschreibung : Programm stellt variables Kreuz mit * dar *
* History : 2002-09-22 erstellt *
* Stand : 2002-09-26 *
*************************************************************/

/************************************************************
* Header Dateien *
*************************************************************/
#include <stdio.h>
#include <conio.h>

/*************************************************************
* Hauptprogramm *
*************************************************************/
void main()
{
int i, x, j, u; //Variablen setzen

printf("Bitte gib deinen Namen ein und drücke enter ");
scanf("%d",&u); //Eingabe abfrage

printf("\n Bitte eine ganze ungerade Zahl als Kreuzgroeße eingeben : ");
scanf("%d",&x); //Eingabe abfrage

getch();
system("cls"); //Bildschirmloeschen + clrscr();

for(i=0; i<13-(x-1)/2; i++) //Die Zeilenumbrueche bis zum Anfang des X
printf("\n");

for(i=0; i<(x-1)/2; i++) //nur so oft wie der obere Teil
{
for(j=0; j<40; j++) //40 mal
printf(" "); //Leerstellen
printf("*"); //* setzen
printf("\n"); //Ein Zeilenumbruch
}

for(i=0; i<40-(2*x-2)/2; i++) //waagerechte Linie ausrichten
printf(" ");

for(i=0; i<x; i++) //xmal *
{
printf("*"); //* setzen
printf(" "); //leerstellen
}

printf("\n"); //Zeilenumbruch

for(i=0; i<(x-1)/2; i++) //untere Teil siehe oben
{
for(j=0; j<40;j++)
printf(" ");
printf("*");
printf("\n");
}

printf(" -- enter to continue -- ");
getch();


printf("\n DU heisst %d", u);
printf("Deine Kreuz betraegt %d Sternchen :)", x);

getch(); //Ausgabe geben

}

/*************************************************************
* Ende von dem Hauptprogramm *
**************************************************************/
 
an welcher stelle stürzt das programm ab?
Code:
printf("Bitte gib deinen Namen ein und drücke enter "); 
scanf("%d",&u); //Eingabe abfrage
an der stelle?

was gibst du denn an der stelle ein?
 
Original geschrieben von asphyxia
an welcher stelle stürzt das programm ab?
Code:
printf("Bitte gib deinen Namen ein und drücke enter "); 
scanf("%d",&u); //Eingabe abfrage

an der stelle?

was gibst du denn an der stelle ein?

an der stelle soll der name des benutzers eingegeben werden der dann zum schluss wieder ausgegeben wird.

Abstürzen tut es überhaupt nicht. Man gibt einen namen ein und der wandelt den namen in eine Zahl um. Die zahl nimmt er dann gleich für x und macht so viele * . Das muss man abstellen...
 
moin

also wenn du einen namen einlesen willst kannst du dafür keine variable vom typ "int" nehmen!!
dazu musst du eine vom typ "char" oder "CString" nehmen ich glaube du solltest dich mit "char" begnügen!
und dann musst bei "scanf" nicht %d sonder %s nehmen!!

also:
/////////////////////
char name[80];

printf("Bitte gib deinen Namen ein und drücke enter ");
scanf("%s",&name); //Eingabe abfrage
/////////////////////

so würde das funktionieren.

mfg
umbrasaxum
 

Neue Beiträge

Zurück