[語法] 語法錯誤找不出來

看板C_and_CPP (C/C++)作者 (天殺的笨蛋)時間16年前 (2009/03/11 13:27), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
#include <stdio.h> #include<stdlib.h> struct date{ int yy; int mm; int dd; }; struct student{ char name[15]; struct date birthday; int eng; int math; int prog; }; void printStudent(struct student s){ printf("%6s %6.2f\n",s.name,(float)((s.eng)+(s.math)+(s.prog))/3); } int main(){ int select; int i; int j; int list[10]; int change; char namechange; printf("1. List average scroes.\n"); printf("2. List students born in January.\n"); printf("3. Sort students by programming score.\n"); printf("Enter any other number to exit.\n?"); scanf("%d", &select); struct student sArray[10]= { {"John" ,{71, 1,3},78 ,90 ,60}, {"Mary" ,{72, 5,13},80 ,66 ,74}, {"Neil" ,{73, 3,23},42 ,55 ,90}, {"Eric" ,{75, 1,14},88 ,99 ,75}, {"Norman",{78, 2,9}, 64 ,52 ,85}, {"Tom" ,{80, 10,28},60 ,55 ,61}, {"Jerry" ,{85, 11,3},94 ,87 ,88}, {"Linda" ,{77, 9,18},83 ,74 ,62}, {"Rita" ,{74, 6,30},71 ,62 ,50}, {"Angie" ,{72, 1,27},57 ,58 ,59} }; while (1){ switch(select){ case 1: for(i=0;i<=9;i++){ printStudent(sArray[i]); } printf("\n"); break; case 2: for(i=0;i<=9;i++){ if(sArray[i].birthday.mm==1) printf("%6s %6.2f\n",sArray[i].name,(float)((sArray[i].eng)+(sArray[i].math)+(sArray[i].prog))/3); } break; case 3: for(i=0;i<=9;i++){ for(j=0;j<=9-i;j++){ if(sArray[j].prog>sArray[j+1].prog){ change=sArray[j].prog; namechange=sArray[j].name; sArray[j].prog=sArray[j+1].prog; sArray[j].name=sArray[j+1].name; sArray[j+1].prog=change; sArray[j+1].name=namechange; } } } break; default : return 0; }; printf("1. List average scroes.\n"); printf("2. List students born in January.\n"); printf("3. Sort students by programming score.\n?"); printf("Enter any other number to exit."); scanf("%d", &select); } system("PAUSE"); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.137.20.1

03/11 13:57, , 1F
如果是用C的話..sArray 宣告要放前面
03/11 13:57, 1F

03/11 16:10, , 2F
namechange=sArray[j].name; //你把string丟給了char
03/11 16:10, 2F
文章代碼(AID): #19jqlHww (C_and_CPP)
文章代碼(AID): #19jqlHww (C_and_CPP)