C语言实训程序题

要求使用结构体或链表存储动航空公司客表的基本信息,包括票号、姓名、身份证号、航班号、座舱等级、出发日期、时间、价格等;要求实现对客票基本信息的增加、删除、修改、按票号及姓... 要求使用结构体或链表存储动航空公司客表的基本信息,包括票号、姓名、身份证号、航班号、座舱等级、出发日期、时间、价格等;要求实现对客票基本信息的增加、删除、修改、按票号及姓名进行查询、并将数据保存成文件或从文中读取等功能。
不要说过程怎么做。把完整程序贴上来。一部分也可以。程序通过必采。
请在周五之前完成。急等啊。如果程序满意。600悬赏分全盘送出。童叟无欺啊。
展开
 我来答
百度网友a3722676e
2011-06-15 · TA获得超过1215个赞
知道小有建树答主
回答量:957
采纳率:0%
帮助的人:858万
展开全部
#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 = head; t; s = 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 = head; t; t=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 = head; t; t=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 = head; t; t=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;
}
208vokcwu
2011-06-15 · TA获得超过2168个赞
知道大有可为答主
回答量:4655
采纳率:0%
帮助的人:781万
展开全部
第一题:
#include "stdio.h"

main(){
int n = 4;
float sum =0;
int i;

for(i=1;i<=n;i++)
sum = sum +(float)i/((2*i-1)*(2*i+1));

printf("sum = %.2f",sum);
getch();
}

第二题:

#include "stdio.h"

main(){
int line = 5;
int i,j;

for(i=1;i<=line;i++){
for(j=0;j<6;j++)
printf("%d ",i);
printf("\n");
}
getch();
}

希望能帮到你。。。。仍有问题可以HI我。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式