| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2264 人关注过本帖
标题:[求助]关于文件存储的问题
只看楼主 加入收藏
hj821165254
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-6-30
收藏
 问题点数:0 回复次数:3 
[求助]关于文件存储的问题
下列是一个管理系统的输入和存储部分,请高手帮忙看下我的这个为什么存储错误。我用文档打开存储的文件,里面是乱码,改成以W形式输入也不行。是不是使用的存储函数错误?请教下大家像学生管理系统存储信息的建立和使用一般用什么函数?下面程序可能运行一下更能找出我的错误吧。编写环境是TC2.0(初学,不敢用VC)。谢谢大家看完我的帖子。
#include<stdio.h>
#include<malloc.h>
#include <string.h>
#define NULL 0
#define len sizeof(struct student)
struct student
{long num;
 char name[20];
 float msco;
 float csco;
 float esco;
 struct student *next;
};
 int n;
 struct student *creat()
{
 struct student *head;
 struct student *p1,*p2;
 n=0;
 do
 {
   p1=(struct student *)malloc(len);
   printf("please input the number of the student:");
   scanf("%ld",&p1->num);
   if(p1->num==0)break;
   printf("please input the name of the student:");
   scanf("%s",&p1->name);
   printf("please input the math of the student:");
   scanf("%f",&p1->msco);
   printf("please input the cprogram of the student:");
   scanf("%f",&p1->csco);
   printf("please input the english of the student:");
   scanf("%f",&p1->esco);
   n=n+1;
   if(n==1)head=p1;
   else p2->next=p1;
   p2=p1;
  }while(p1->num!=0);
 p2->next=NULL;
 return(head);
}

void save(struct student *head)
{
 FILE *fp;
 struct student *p;
 fp=fopen("stu_list","wb");
 p=head;
 if(head!=NULL)
  do
   {
    fwrite(p,len,1,fp);
    p=p->next;
   }while(p!=NULL);
fclose(fp);
}
main()
{
 long del_num;
 float arg,*point=&arg;
 struct student *head;
 clrscr();
 head=creat();
 save(head);
}
搜索更多相关主题的帖子: student struct float 文件 系统 
2008-07-01 21:16
VxWorks
Rank: 3Rank: 3
来 自:WindRiver
等 级:论坛游民
威 望:6
帖 子:859
专家分:68
注 册:2007-11-24
收藏
得分:0 
>>请教下大家像学生管理系统存储信息的建立和使用一般用什么函数?


为了防止世界被破坏,为了守护世界的和平,贯彻爱与真实的邪恶,可爱又迷人的反派角色,VxWorks!
Don't ask me any question.I'm just here to buy soy sauce.
2008-07-01 21:17
ssss3
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-7-12
收藏
得分:0 
2007《高级语言程序设计》课程设计题目及基本要求如下:
1、    某班学生成绩管理,包括以下功能:
(1)    从键盘输入包括学号、姓名、各门课程成绩,并将其保存在磁盘文件student里
(2)    打开文件后,计算每个人的总分和平均分,排序并保存
(3)    具有在文件中进行单项查询或多项查询的功能(即能够按照给定的关键字姓名等找出满足条件的纪录)
(4)    具有输出文件数据信息的功能
2、    某班学生基本信息管理,包括以下功能:
(1)    从键盘输入包括学号、姓名、性别、出生年月日、籍贯、所在院系、专业、奖惩信息等,并将其保存在磁盘文件student里
(2)    具有在文件中进行单项查询或多项查询的功能(即能够按照给定的关键字姓名等找出满足条件的纪录)
(3)    打开文件后按照出生年月日排序
(4)    具有输出文件数据信息的功能
3、    建立学生管理链表,能够实现学生日常管理功能,包括:
(1)    学生基本信息链表的建立
(2)    链表中学生结点的插入
(3)    链表中学生结点的删除
(4)    链表的浏览(遍历)
(5)    链表中学生结点的查找
4、职工信息管理系统设计
职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:
    职工信息录入功能(职工信息用文件保存)--输入
    职工信息浏览功能 --输出
    查询或排序功能:(至少一种查询方式)  --算法
    按工资查询
    按学历查询等
    职工信息删除、修改功能(任选项)
5、飞机订票系统设计
假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。试设计一民航订票系统,使之能提供下列服务:
    航班信息录入功能(航班信息用文件保存)--输入
    航班信息浏览功能--输出
    查询航线:(至少一种查询方式)--算法
    按航班号查询
    按终点站查询
    承办订票和退票业务(可选项)
6、学生选修课程系统设计
假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:
    课程信息录入功能(课程信息用文件保存)--输入
    课程信息浏览功能--输出
    查询功能:(至少一种查询方式)--算法
    按学分查询
    按课程性质查询
    学生选修课程(可选项)
7、图书信息管理系统设计
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:
    图书信息录入功能(图书信息用文件保存)--输入
    图书信息浏览功能--输出
    查询或排序功能:(至少一种查询方式)--算法
    按书名查询
    按作者名查询
    图书信息的删除与修改(可选项)
8、猜数字游戏
这是一个简单的游戏,游戏包括“开始游戏”、“排行榜查看”、“帮助”三个主要功能。系统功能概述:
(1)开始游戏
         1)游戏软件随机产生一个各位数不重复的4位数,但不显示。
2)用户输入所猜数字,按回车提交。
3)游戏将提交的数与它自动产生的数进行比较,提示结果为"*A*B"格式。A代表位置正确数字也正确,B代表数字正确但位置不正确,比如:"2A2B"表示有2个数字的位置正确且数值也正确,且有2个数字正确但位置不正确。
4)共有10次机会,在10次内,如果结果为“4A0B”,游戏成功。如果10次里都没有猜对,游戏失败。
5)当玩家赢得游戏后,会与排行榜中的前五名玩家的游戏记录比较,如果排名能够进入前五名,则提示用户输入玩家姓名,更新排行榜。
  记分规则:猜数字所用次数即为分数,所以分数越少成绩越好。
(2)排行榜查看
在排行榜查看功能中,用户可以查看当前的游戏排行,排行榜中总共显示前5名玩家姓名和分数。
(3)帮助
在帮助模块,用户可以查看游戏规则。
9、通讯录管理系统
编写一个通讯录管理系统。addressbook.txt中按姓名顺序存储联系人信息,联系人信息包括姓名、单位、住宅电话、手机、电子邮件、通讯地址。本系统应完成以下几方面的功能:
(1)导入信息:从addressbook.txt中的联系人信息导入链表中。
(2)输入新联系人:从键盘输入新的联系人,并将它插入到链表的相应位置。
(3)显示信息:显示所有通讯录里的条目。
(4)查询:在文件中根据姓名查询出联系人的信息
  (5)存盘:将链表中的信息写入addressbook.txt中。
10、编写一个万年历
主要功能:
(1)用户输入年份和月份,屏幕显示此月的月历。若年份为0,输出整年的月历。
(2)保存:用户可输入文件名,将此月历存入文件中。
11、实验设备管理系统
系统要实现的功能如下:
(1)设备信息的录入:将实验室目前的设备录入被保存在文件中。设备信息:设备编号、种类名称、价格。
(2)设备信息显示:能够显示现有设备全部信息。
(3)设备信息查询并统计 :能够分别按照设备编号、名称、价格。并统计和显示相关条目的数量。
(4)设备报废:将报废信息从原有设备中删除,存在另一个文件中,共以后查询.
12、猜拳游戏
游戏包括“开始游戏”、“排行榜查看”2个主要功能。
(1)开始游戏
每个用户有初始积分为100金币。
1)每一轮猜拳游戏,用户首先输入押入这轮的金币数(最大不可超过剩余金币数),如果赢得本轮,获得相应金币数,若输,损失相应金币数。
2)提示信息让用户输入一个1~3之间的值,其值事先设定为: 1表示石头 2表示剪刀 3表示布。程序随机生产1~3的其中之一,然后与用户输入的值进行比较,根据猜拳游戏规则来判定,输出显示胜或败,并调整金币值。
3)提示是否还要继续完游戏?如果输入Y或者y,则进行下一轮猜拳(步骤1)。如果输入N或n,则与排行榜中的前五名玩家的游戏记录比较,如果排名能够进入前五名,则提示用户输入玩家姓名,更新排行榜,退出程序。
(2)排行榜查看
在排行榜查看功能中,用户可以查看当前的游戏排行,排行榜中总共显示前5名玩家姓名和金币数。

13、文本文件操作
主要包含2个功能:
(1)加密和解密:用户输入要加密的文件名filename和加密密码pwd,假设密码为n位,将文本文件中的前n个字符与密码的字符异或,下n个字符分别与密码的字符异或,直至文件结束,产生一个新的文件。解密过程同加密过程。
(2)合并:将两文件合并到新文件中。
(3)替换:实现将文件中的某字符串替换成另一字符串的功能。

14、算术计算器
实现一个简单算术计算器,不支持优先级。包括“计算器”、“查看历史”2个主要功能。
(1)计算器
程序首先显示计算器界面。
1   2   3        
    4   5   6   *     /   
    7   8   9   =     
用户从键盘输入以上字符,忽略除此之外的其他字符输入。"#”屏幕显示0,重新开始计算。
假如用户的一串输入将为22+1*2-3 。初始屏幕显示0,用户输入2,屏幕显示2,用户输入2,屏幕显示22,用户再输入+,屏幕显示22,用户输入1,屏幕显示1,当用户输入*,屏幕显示23,用户输入2,屏幕显示2,用户输入-,屏幕显示46 ,用户输入3,屏幕显示3,用户输入=,屏幕显示43。每次计算结束,计算表达式和结果记入文件。
(2)查看历史
显示历史表达式的值。   
     15、统计某文本文件中各单词个数
统计出用户指定的文本文件的所有单词的个数,并把结果存入结果文件中。

说明:一般一个题目由1位同学独立完成,部分可以2位同学合作完成,但分工必须明确,各自完成独立功能函数。
2008-07-12 15:22
水中无月
Rank: 1
等 级:新手上路
帖 子:190
专家分:9
注 册:2008-6-17
收藏
得分:0 
……作业……

十里平湖霜满天,寸寸青丝愁华年,对月形单望相互,只羡鸳鸯不羡仙.
2008-07-12 17:00
快速回复:[求助]关于文件存储的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023794 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved