c语言程序案例

来源:百度知道 编辑:UC知道 时间:2024/07/06 00:59:20
急需一个c语言程序案例,是股票信息系统的
1、基本功能:
(1)添加记录
先判断链表是否已经存在。若不存在,需首先自动新建一个链表,然后再添加一条或多条记录。
(2)显示记录
显示当前所有记录。
(3)查询记录
按名称查找,并显示该记录。
(4)代号的排序
按代号的字母顺序排序,涉及到冒泡等排序算法。
(5)删除记录
实现逐条删除和删除全部记录两种功能。
(6)更新记录
修改已存在记录的信息(提示:需首先判断该记录是否存在)。
(7)按关系类别显示记录
只显示指定公司的记录。
(8)保存记录
存储所有记录到某个文件(.txt)或缺省文件(shares.txt)。
(9)读入记录
从某个文件(.txt)或缺省文件(shares.txt)读入所有记录。首先判断当前是否有记录在进行操作,若有,进行存储或放弃存储,然后释放内存空间,之后才能从文件读入记录。
(10)退出
结束软件操作,释放内存后退出。

2、数据录入提示
(1)名称
股票名称,为了实现排序,可以输入英文或拼音,便于调用字符串比较等函数进行比较排序。
(2)代号
每支股票的代号
(3)日期
输入时要判断一下是否是正确的日期格式。(类似对输入数据的判断可作为扩展,不是必须实现的功能)。
(4)类别
金融,矿产,高科等
(5)价格
当前的价格
(6)所属公司
可以为任何公司,用于进行条件显示,即只显示与公司有某种关系的记录。
3、其他实现提示
对于每一项功能,应该对可能出现的异常操作进行处理,如提示重新输入或给出错误提示后成功返回主菜单界面,以免软件运行异常退出或挂起。
除了基本功能和异常处理,鼓励进行以下扩展或改进:
 有创意的设计
 采用改进程序性能的其他方法(如执行效率、访问速度、占内存量、灵活性、可移植性等)
 友好的输入界面;

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

struct Message
{
char name[10];
int number;
char sort[4];
int price;
char company[4];
struct Message *next;
};

void Interface(void)
{
printf("\n*******************************\n");
printf(" 1:添加记录 2: 显示记录 \n");
printf(" 3:查询记录 4: 代号的排序 \n");
printf(" 5:删除记录 6: 保存记录 \n");
printf(" 7:退出 \n");
printf("*********************************\n");
return ;
}

struct Message * AddMessage(struct Message *head)
{
struct Message *message;
message = (struct Message *) malloc (sizeof (struct Message));

printf("请输入名称: \n");
scanf("%s", message->name);
fflush(stdin);
printf("