Blir lite tossig, när inläsningen (struct ORR inlas(void)) körs 2:a g eller fler så matar consollen på med Titel: Artist. Vad kan jag göra för att undvika det? Helt rätt, tog fel på c++ (där jag blivit ombedd att posta av en som brukar hjälpa mig).Struct
Tacksam för svar! Är som vanligt ute i sista minuten, uppgift ska in på torsdag :)
Än så länge är detta labbkod men jag behöver få ordning på inläsningen.
God fortsättning!
<b>Edit: Löste det med
fflush ( stdout );
getchar();
</b>
*****************************************
#include <stdio.h>
#include <math.h>
#include <conio.h>
int i;
struct ORR
{
char Titel[255];
char Artist[255];
char Typ[25];
float Pris;
int Antal;
};
struct ORR inlas(void) {
struct ORR p;
printf("Titel: ");
gets(p.Titel);
printf("Artist: ");
gets(p.Artist);
printf("Mediatyp : ");
gets(p.Typ);
printf("Pris: ");
scanf("%f",&p.Pris);
printf("Antal : ");
scanf("%d",&p.Antal);
return p;
}
int main(void) {
struct ORR Orray[20]; // p1,p2;
int x;
int y=0;
do
{
Orray[x]=inlas();
printf("Använd tangenten 0 om du vill fortsätta mata in skivor, annars 1\n", &y);
scanf("%d", &y);
<b> fflush ( stdout );
getchar();
</b>
}while (y==0);
x=0;
for (x=0; x<7; x++)
{
printf("Index: %d\n", x+1);
printf ( "Titel: %s\n", Orray[x].Titel );
printf ( "Artist: %s\n", Orray[x].Artist );
printf ( "Mediatyp: %s\n", Orray[x].Typ );
printf ( "Pris: %.2f\n", Orray[x].Pris );
printf ( "Antal: %d\n", Orray[x].Antal );
printf ( "\n\n\n");
}
getch();
}Sv:Struct
Sry. :)