




uj5u.com熱心網友回復:
#include<stdio.h>#include<string.h>
#include<malloc.h>
typedef struct sxm1
{
char sxmname[25];
sxm1 *next;
}sxm1;
typedef struct stu1
{
char xname[25];
stu1 *next;
}stu1;
struct xm
{
char xmname[25];
stu1 *xmhead;
}xm[1000];
struct student
{
int num;
char name[10];
char sex[10];
int id;
sxm1 *stuhead;
}stu[100];
void change()
{
int i, k, tp = 0;
char sna[25], sxm[25];
sxm1 *a;
stu1 *c, *d;
printf("輸入姓名\n");
scanf("%s", sna);
for (i = 0; i < 100; i++)
{
if (strcmp(sna, stu[i].name) == 0)
{
tp = 1;
break;
}
}
if (tp == 0)
{
printf("此人沒有報名\n");
return;
}
printf("輸入要改的專案\n");
scanf("%s", sxm);
a = stu[i].stuhead;
while (a != NULL)
{
if (strcmp(sxm, a->sxmname) == 0)
{
for (k = 0; k < 1000; k++)
{
if (strcmp(sxm, xm[k].xmname) == 0)
{
c = xm[k].xmhead;
while (c != NULL)
{
if (strcmp(stu[i].name, c->next->xname) == 0)
{
if (c->next->next == NULL)
c->next = NULL;
else
c->next = c->next->next;
break;
}
}
break;
}
}
printf("輸入改后的專案\n");
scanf("%s", a->sxmname);
for (k = 0; k < 1000; k++)
{
if (strcmp(a->sxmname, xm[k].xmname) == 0)
{
c = xm[k].xmhead;
while (c->next != NULL)
c = c->next;
d = (stu1 *)malloc(sizeof(struct stu1));
strcpy(d->xname, stu[i].name);
c->next = d;
d->next = NULL;
break;
}
}
break;
}
a = a->next;
}
}
void main()
{
char n, m;
int i = 0, j, xnum;
int k;
int a, s, d, f;
char b;
printf("★★★★★★★運動會報名系統★★★★★★★\n");
printf("\n(1)100米 (2)跳高 (3)跳遠 (4)鉛球\n");
do {
printf("\n ★★★★ 1、開始報名 ★★★★\n");
printf(" ★★★★ 2、修改所報專案 ★★★★\n");
printf(" ★★★★ 3、分類統計報名結果 ★★★★\n");
printf(" ★★★★ 4、退出 ★★★★\n");
printf("\n請選擇:");
scanf("%c", &n);
switch (n)
{
case 1':
do
{
printf("\n請輸入以下內容\n\n");
printf("學號:\n");
scanf("%d", &stu[i].num);
while (stu[i].num == 0)
{
printf("\n學號不能為0!\n");
printf("學號:\n");
scanf("%d", &stu[i].num);
}
printf("姓名:\n");
scanf("%s", &stu[i].name);
printf("性別:\n");
scanf("%s", &stu[i].sex);
while ((strcmp(stu[i].sex, "男") != 0) && (strcmp(stu[i].sex, "女") != 0))
{
printf("\n輸入錯誤,請重新輸入!\n");
printf("性別:\n");
scanf("%s", &stu[i].sex);
}
printf("請輸入報名的專案數\n");
scanf("%d", &xnum);
if (xnum > 3)
{
printf("報的專案的數超過3項,不能報\n");
}
printf("專案編號:(1 ~ 4)\n");
scanf("%d", &stu[i].id);
while (stu[i].id > 4 || stu[i].id == 0)
{
printf("\n輸入錯誤,請重新輸入!\n");
printf("專案編號:(1 ~ 4)\n");
scanf("%d", &stu[i].id);
}
i++;
printf("\n是否愿意繼續<Y/N>:");
fflush(stdin);
scanf("%c", &b);
} while (b == y' || b == Y');
break;
case 2':change(); break;
case 3':
do {
printf("\n1、按性別查詢\n");
printf("2、按所報專案查詢\n");
printf("3、退出。\n");
printf("\n請選擇:");
scanf("%c", &m);
switch (m)
{
case 1':
k = 0;
for (j = 0; j < i; j++)
{
if (strcmp(stu[j].sex, "男") == 0)
{
k++;
}
}
printf("\n參加運動會的男生有%d人,女生有%d人。\n", k, i - k);
break;
case 2':
a = 0;
s = 0;
d = 0;
f = 0;
for (j = 0; j < i; j++)
{
if (stu[j].id == 1)
{
a++;
}
if (stu[j].id == 2)
{
s++;
}
if (stu[j].id == 3)
{
d++;
}
if (stu[j].id == 4)
{
f++;
}
}
printf("\n參加跑步專案的共有%d人\n參加跳高專案的共有%d人\n參加跳遠專案的共有%d人\n參加鉛球專案的共有%d人\n", a, s, d, f);
break;
}
fflush(stdin);
} while (m != 3');
break;
}
fflush(stdin);
} while (n != 4');
}
uj5u.com熱心網友回復:
不用問了,這種一般沒人回復的,你要學會自己調試;然後去對應的論壇問。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/81364.html
標籤:疑難問題
上一篇:rs=sql.executeQuery()后邊不執行
下一篇:二叉樹的遍歷心得
