ali7566
Lieutenant
- Registriert
- Feb. 2007
- Beiträge
- 960
Hallo,
ich bearbeite gerade eine Übung die ich jetzt soweit von der Funktionaltät fertig programmiert habe, jedoch noch einen kleinen kosmetischen Fehler habe der nicht erwünscht ist.
Ich lese eine Zeichenkette ein und möchte das 10 eigegebene Zeichen auf das Array eingabe2[] gespeichert werden und der rest in eingabe3[]. Soweit ja kein problem, jedoch habe ich dann bei der Ausgabe ein problem wenn ich über die 10 Zeichen gehe, dann nämlich werden mir die 10 Zeichen angezeigt jedoch dahinter mit einigen symbolen und nochmal mit der kompletten eingabe. Ich habe dem Array doch nur 10 variablen zur verfügung gestellt warum schreibt er da einfach munter weiter.
Ja ich weiß ich könnte auch bei printf() als formatierung .10 eingeben um es auf 10 zeichen zu beschränken, dies ist aber nicht erlaubt.
Habt ihr eine Idee ?
Gruß Ali.
ich bearbeite gerade eine Übung die ich jetzt soweit von der Funktionaltät fertig programmiert habe, jedoch noch einen kleinen kosmetischen Fehler habe der nicht erwünscht ist.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main(void)
{
char eingabe[100];
char eingabe2[10], eingabe3[90];
int i, zaehlen=0,buchstab=0, ziff=0;
do
{
printf("\nGeben Sie eine Zeichenkette ein: \n");
scanf("%s", eingabe);
for(i=0; i< 10; i++)
eingabe2= eingabe;
for(i=10;i<90;i++)
eingabe3[i-10]= eingabe;
for(i= 0;i < eingabe; i++)
{
zaehlen++;
if( eingabe >= 'A' && eingabe<= 'Z')
buchstab++;
if( eingabe>= '0' && eingabe<= '9')
ziff++;
}
printf("Der gespeicherte String ist: %s\n", eingabe2);
if(zaehlen > 11)
printf("Folgende Zeichen wurden abgeschnitten: %s\n", eingabe3);
else if( zaehlen < 11)
printf("Es mussten keine Zeichen abgeschnitten werden\n");
printf("Die Zeichenlaenge des String ist %d Zeichen lang\n", zaehlen);
printf("Es wurden %d Grossbuchstaben und %d Ziffern eingegeben \n",buchstab,ziff);
}while(eingabe[0]!= '@');
}
Ich lese eine Zeichenkette ein und möchte das 10 eigegebene Zeichen auf das Array eingabe2[] gespeichert werden und der rest in eingabe3[]. Soweit ja kein problem, jedoch habe ich dann bei der Ausgabe ein problem wenn ich über die 10 Zeichen gehe, dann nämlich werden mir die 10 Zeichen angezeigt jedoch dahinter mit einigen symbolen und nochmal mit der kompletten eingabe. Ich habe dem Array doch nur 10 variablen zur verfügung gestellt warum schreibt er da einfach munter weiter.
Ja ich weiß ich könnte auch bei printf() als formatierung .10 eingeben um es auf 10 zeichen zu beschränken, dies ist aber nicht erlaubt.
Habt ihr eine Idee ?
Gruß Ali.