-
        

Ergebnis 1 bis 4 von 4

Thema: probleme beim einlesen mit scanf

  1. #1

    probleme beim einlesen mit scanf

    Anzeige

    das programm soll eine beliebige anzahl von kundenkonten erstellen und deren kontostand ausrechen und als positiv negativ oder ausgeglichen deklarieren, das problem ist dass sich "void rip" nicht richtig einlesen lässt somit kann ich auch meine nicht fertige main nicht testen, scanf und printf machen für mich unerklärliche zeilensprünge und printf gibt blockweise aus obwohl alles einzeln von hand eingegeben werden soll. am ende felt auch noch die printf's zum darstellen der kundenkonten aber diese sollten eigenlich kein problem darstellen. danke

    [
    Code:
    #include"stdafx.h"
    #include"stdio.h"
    
    
    struct konto
    {
    	char name:
    	char strasse:
    	char stadt;
    	int konto_nr;
    	float forderung;
    	float zahlung;
    	float kontostand;
    }kunde[100];
    
    void main()
    {
    	int i,n;
    	void rip(int i);
    	void wop(int i)
    	printf("anzahl der zu erstellenden konten eingeben\n");
    	scanf("%d",&n);
    
    	for(i=0;i<n;++i)
    	{
    		if(kunde[i].zahlung>0)
    			kunde[i].kontostand=kunde[i].forderung-kunde[i].zahlung;
    		else
    			kunde[i].kontostand=inkasso;
    	};
    	for(i=0;i<n;++i)
    		wop(i);
    }
    void rip(int i)
    {
    	printf("kundennummer %d\n", i+1);
    	printf("name");
    	scanf("%s\n",&kunde[i].name);
    	printf("strasse?");
    	scanf("%s\n",&kunde[i].strasse);
    	printf("stadt");
    	scanf("%s\n",&kunde[i].stadt);
    	printf("kontonummer?");
    	scanf("%d\n",&kunde[i].konto_nr);
    	printf("forderung");
    	scanf("%f\n",&kunde[i].forderung);
    	printf("zahlung");
    	scanf("%f\n",&kunde[i].zahlung);
    	return;
    }

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    konto.name, .strasse und .stadt bestehen aus einem /einzigen/ Zeichen. Wenn scanf mehr als ein Zeichen einliest -- dazu gehört schon auch die abschliessende '\0' des Strings -- überschreibst du alle Datan, die dahinter im Speicher stehen. Ergo: gnügend Platz für die Strings bereithalten! Sonst bekommst du einen klassichen Budder Overflow!
    Disclaimer: none. Sue me.

  3. #3
    danke für die antwort. meinst du in etwa so? so hab ich immer noch die probleme es sei den nich hab dich falsch verstanden.

    Code:
    #include "stdafx.h"
    #include "stdio.h"
    
    
    
    
    	char name[50],stadt[50],strasse[50];
    	int konto_nr[10];
    	float forderung[50], zahlung[50],kontostand[50];
    int main()	
    
    
    
    
    {	printf("name\n");
    	scanf_s("%s\n", &name);
    
    	printf("stadt\n");
    	scanf_s("%s", &stadt);
    
    	printf("strasse\n");
    	scanf_s("%s",&strasse);
    	
    	printf("kontonr\n");
    	scanf_s("%d",&konto_nr);
    	
    	printf("forderung\n");
    	scanf_s("%f", &forderung);
    	
    	printf("zahlung\n");
    	scanf_s("%f",&zahlung);
    
    	printf("kontostand\n");
    	scanf_s("%f",&kontostand);
    	
    
    
    
    
    }

  4. #4
    Hallo,

    in C ist jedes Array implizit auch ein pointer, d.h. beim scanf darf dann KEIN weiterer & stehen, das bedeutet was anderes...

    char buffer [100];
    scanf(buffer,"%s",buffer);

    müsste reichen

    DrGünter

Ähnliche Themen

  1. Text-Eingabe mit scanf
    Von faert89 im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 30.09.2009, 07:04
  2. Servo zuckt beim RC Kanal einlesen
    Von BlaueLed im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 05.12.2008, 23:27
  3. LPT-Datenleitung beim Einlesen schon 1 ?!
    Von rrurr im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 25.11.2007, 17:57
  4. Probleme beim Einlesen von UART mit PicBasic
    Von wurm im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 28.09.2007, 14:48
  5. Probleme mit scanf
    Von XC866 im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 23.12.2006, 18:14

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •