C语言实训程序题

Python018

C语言实训程序题,第1张

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

typedef struct _HK

{

char num[20]

char name[10]

char card[20]

char hb[20]

int jb

char date[11]

char tt[10]

float pay

struct _HK *next

}*HK

HK head = NULL

void AddMsg()

{

HK t

t = (HK)malloc(sizeof(*t))

printf("输入票号:")

scanf(" %s", t->num)

printf("输入姓名:")

scanf(" %s", t->name)

printf("身份证号:")

scanf(" %s", t->card)

printf("航班号:")

scanf(" %s", t->hb)

printf("座舱号:")

scanf(" %d", &t->jb)

printf("日期(xxxx-xx-xx):")

scanf(" %s", t->date)

printf("时间(xx:xx:xx):")

scanf(" %s", t->tt)

printf("钱数:")

scanf(" %f", &t->pay)

t->next = head

head = t

printf("***********添加成功[%s][%s][%s][%s][%d][%s][%s][%.2f]***********\n", t->num, t->name, t->card, t->hb, t->jb, t->date, t->tt, t->pay)

}

void DelMsg()

{

char szMsg[20] = {0}

HK s,t

printf("输入要删除的票号:")

scanf(" %s", szMsg)

for (s = t = headts = t, t = t->next)

{

if (!memcmp(szMsg, t->num, strlen(szMsg)))

{

if (s == t)

head = head->next

else

s->next = t->next

t->next = NULL

free(t)

printf("***********删除成功[%s][%s][%s][%s][%d][%s][%s][%.2f]***********\n", t->num, t->name, t->card, t->hb, t->jb, t->date, t->tt, t->pay)

return

}

}

}

void ChangeMsg()

{

HK t

char szMsg[20] = {0}

printf("输入要修改的票号:")

scanf(" %s", szMsg)

for (t = headtt=t->next)

{

if (!memcmp(szMsg, t->num, strlen(szMsg)))

{

printf("输入票号:")

scanf(" %s", t->num)

printf("输入姓名:")

scanf(" %s", t->name)

printf("身份证号:")

scanf(" %s", t->card)

printf("航班号:")

scanf(" %s", t->hb)

printf("座舱号:")

scanf(" %d", &t->jb)

printf("日期(xxxx-xx-xx):")

scanf(" %s", t->date)

printf("时间(xx:xx:xx):")

scanf(" %s", t->tt)

printf("钱数:")

scanf(" %f", &t->pay)

printf("***********修改成功[%s][%s][%s][%s][%d][%s][%s][%.2f]***********\n", t->num, t->name, t->card, t->hb, t->jb, t->date, t->tt, t->pay)

return

}

}

}

void FindMsg()

{

int n

char szMsg[20]

HK t

printf("\n\n\n\n")

printf("***********************************************************\n")

printf("* *\n")

printf("***********************1.票号查询信息**********************\n")

printf("* *\n")

printf("***********************2.姓名查询信息**********************\n")

printf("* *\n")

printf("***********************************************************\n")

scanf(" %d", &n)

printf("输入查询信息:")

scanf(" %s", szMsg)

for (t = headtt=t->next)

{

if (1 == n)

{

if (!memcmp(szMsg, t->num, strlen(szMsg)))

printf("***********查询成功[%s][%s][%s][%s][%d][%s][%s][%.2f]***********\n", t->num, t->name, t->card, t->hb, t->jb, t->date, t->tt, t->pay)

}

else if (2 == n)

{

if (!memcmp(szMsg, t->name, strlen(szMsg)))

printf("***********查询成功[%s][%s][%s][%s][%d][%s][%s][%.2f]***********\n", t->num, t->name, t->card, t->hb, t->jb, t->date, t->tt, t->pay)

}

}

return

}

void MsgToFile()

{

FILE *fp

char szFile[32] = {0}

HK t

printf("文件路径:")

scanf(" %s", szFile)

fp = fopen(szFile, "w")

for (t = headtt=t->next)

{

fprintf(fp, "票号:%s|姓名:%s|身份证:%s|航班号:%s|座舱等级:%d|出发日期:%s|时间:%s|价格:%.2f\n",

t->num, t->name, t->card, t->hb, t->jb, t->date, t->tt, t->pay)

}

fclose(fp)

}

int main(void)

{

int n

while(1)

{

printf("***********************************************************\n")

printf("* *\n")

printf("************************1.添加信息*************************\n")

printf("* *\n")

printf("************************2.删除信息*************************\n")

printf("* *\n")

printf("************************3.修改信息*************************\n")

printf("* *\n")

printf("************************4.查询信息*************************\n")

printf("* *\n")

printf("************************5.信息保存*************************\n")

printf("* *\n")

printf("************************6.退出*************************\n")

printf("* *\n")

printf("***********************************************************\n")

scanf(" %d", &n)

switch(n)

{

case 1:

AddMsg()

break

case 2:

DelMsg()

break

case 3:

ChangeMsg()

break

case 4:

FindMsg()

break

case 5:

MsgToFile()

break

case 6:

return 0

default:

break

}

}

return 0

}

//下面的是无须确定n,选择投票或退出程序就行

#include <stdio.h>

#include <stdlib.h>

int a = 0, b = 0, c = 0, d = 0

void CHOICE()

{

char ch

printf("请输入票号: (A B C D)\n")

scanf("%c", &ch)

if (ch == 'A')

{

a = a + 1

printf("A得票数是: %d\n", a)

printf("B得票数是: %d\n", b)

printf("C得票数是: %d\n", c)

printf("D得票数是: %d\n", d)

return

}

else if (ch == 'B')

{

b = b + 1

printf("A得票数是: %d\n", a)

printf("B得票数是: %d\n", b)

printf("C得票数是: %d\n", c)

printf("D得票数是: %d\n", d)

return

}

else if (ch == 'C')

{

c = c + 1

printf("A得票数是: %d\n", a)

printf("B得票数是: %d\n", b)

printf("C得票数是: %d\n", c)

printf("D得票数是: %d\n", d)

return

}

else if (ch == 'D')

{

d = d + 1

printf("A得票数是: %d\n", a)

printf("B得票数是: %d\n", b)

printf("C得票数是: %d\n", c)

printf("D得票数是: %d\n", d)

return

}

else

{

printf("该投票无效!\n")

return

}

}

int main()

{

int choice

while(1)

{

printf("*****************************\n")

printf(" 1:投票 2:退出 \n")

printf("*****************************\n")

printf("请选择: \n")

scanf("%d", &choice)

fflush(stdin)

switch(choice)

{

case 1:

CHOICE()

break

case 2:

exit(1)

}

}

return 0

}