C语言 文件读取……

baidu_40282377 2017-09-17 09:17:29
运行下面这个之后代码后 建立了stud文件

再运行下面这个 小黑框里显示出来文件里的内容是乱码 求教!!
...全文
129 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-09-18
  • 打赏
  • 举报
回复
仅供参考:
//char (*(*x[3])())[5];//x是什么类型的变量?
//
//分析C语言声明,关键是搞清楚这个变量是个什么东西(函数、指针、数组),
//是函数那么剩下的就是他的参数和返回值,
//是指针那剩下部分是说明他指向什么,
//是数组剩下的部分就是说明数组的成员是什么类型。
//解析C语言声明规则:
//从左侧第一个标识符开始,按照优先级进行结合。*表示是..的指针,const表示只读的,volatile表示可变的,[]表示是数组,()表示是函数。
//
//x和[3]结合说明是一个大小为3的数组,该数组的每个元素为一类指针,该类指针指向一类函数,该类函数无参数,返回一类指针,该类指针指向一个大小为5的char型数组
#include <stdio.h>
#include <typeinfo.h>
char num[5];
char (*x00())[5] {
    return #
}
int main() {
    char (*(*x[3])())[5];//是个数组,大小为3
    char (*(*x0  )())[5];//数组的元素,是个函数指针
    char (*( x00 )())[5];//函数原型,参数为空,返回值为指针
    char (*  x000   )[5];//返回值

    x0 = x00;
    x[0] = x0;
    x[1] = x0;
    x[2] = x0;
    printf("typeid(x).name() is %s\n",typeid(x).name());
    return 0;
}
//typeid(x).name() is char (* (__cdecl**)(void))[5]
自信男孩 2017-09-18
  • 打赏
  • 举报
回复
引用 1 楼 zjq9931 的回复:
这两句不用取地址,因为数组名,本身就已经是首地址了。

		scanf("%s", stu[i].num);	//不用取地址
		scanf("%s", stu[i].name);	//不用取地址
赞同。 对于这类问题,建议楼主在写文件前,先将其输出到终端,这样可以判定写入的是什么数据。
kuangbao9 2017-09-18
  • 打赏
  • 举报
回复
stu[i].num已经表示num数组的首地址了,你又取地址就没必要了,直接stu[i].num就好了
  • 打赏
  • 举报
回复
这两句不用取地址,因为数组名,本身就已经是首地址了。

		scanf("%s", stu[i].num);	//不用取地址
		scanf("%s", stu[i].name);	//不用取地址
标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N] 标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N] C语言课程设计职工信息管理系统全文共35页,当前为第1页。C语言课程设计职工信息管理系统 C语言课程设计职工信息管理系统全文共35页,当前为第1页。 课 程 设 计 报 告 课程名称 C语言程序设计 课题名称 职工信息管理系统 专 业 通信工程 班 级 1402班 学 号 姓 名 熊舒炼 指导教师 罗雅博 2015年 7月 3 日 C语言课程设计职工信息管理系统全文共35页,当前为第2页。 目 录 C语言课程设计职工信息管理系统全文共35页,当前为第2页。 总体设计方案 ………………………………………………2 二、课程设计目的与要求…………………………………………3 设计目的 …………………………………………………3 设计要求 …………………………………………………3 三、使用说明及运用实例 ………………………………………3 四、项目源程序代码 ……………………………………………8 五、设计心得与总结 ……………………………………………23 C语言课程设计职工信息管理系统全文共35页,当前为第3页。六、参考文献 ……………………………………………………24 C语言课程设计职工信息管理系统全文共35页,当前为第3页。 总体设计方案 (一)、系统总体流程图 (二)、为了方便使用,此系统结构均为全局类型定义 struct employee单模块:显示职工管理系统的主菜单,供用户选择所需功能,通过自己定义的void menu()函数实现。 2.输入模块:输入职工的工号、姓名及其他的一些职工信息,通过自己定义的void input()函数实现。 3.保存模块:将内存中职工信息输出到磁盘文件中,通过自己定义的void save(int)函数实现。 4.浏览模块:浏览所有职工的信息,通过自己定义的void display()函数实现。 5.删除模块:删除需要删除的职工所有信息,通过自己定义的void del()函数实现。 6.查询模块:a.按职工号查询职工相关信息,通过自己定义的void search-num()函数实现。b.按职工学历查询相关职工信息,通过自己定义的void search-xueli()函数实现。 c.按职工电话号码查询相关职工信息,通过自己定义的void search-tel()函数实现。 7.修改模块:可以修改需要修改的职工信息,通过自己定义的void modify()函数实现。 C语言课程设计职工信息管理系统全文共35页,当前为第4页。8.退出系统模块:推出职工信息管理系统,通过头文件中的中的exit(0)函数实现。 C语言课程设计职工信息管理系统全文共35页,当前为第4页。 课程设计的目的与要求 课程设计目的 《C语言程序设计》是通信工程专业重要的基础课,通过本课程设计使学生进一步巩固课堂所学知识,全面熟悉、掌握C语言程序设计的基本方法和技巧,进一步提高编写程序、阅读分析程序及上机操作、调试程序的能力 。 二、课程设计要求 职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。 系统以菜单方式工作;能录入职工信息并保存;显示所有职工信息(以一定的格式); 查询职工信息(以一种或多种方式);修改职工信息并保存;删除职工信息。 所有信息保存在文件中(每次使用,上次保存的信息能从文件读取)。 使用说明及运用实例 1.运行程序,进入职工管理系统的主菜单: 图1 2.输入数字"1"进行录入职工信息: 图2 C语言课程设计职工信息管理系统全文共35页,当前为第5页。3.输入"y"返回住主菜单(界面同图1) C语言课程设计职工信息管理系统全文共35页,当前为第5页。 4.输入"2"浏览职工信息: 5.输入"y"后继续,输入"3"查询职工信息: 图4 6.进入主菜单,输入"4"进行删除职工信息: 图5 7.进入主菜单输入"5"进行修改职工信息 图6 8.进入主菜单输入"6"退出职工信息管理系统 四、项目程序源代码 #include <> #include <> #include <> #define N 100 struct employee { char num[20]; C语言课程设计职工信息管理系统全文共35页,当前为第6页。 char name[20]; C语言课程设计职工信息管理系统全文共35页,当前为第6页。 char sex; char age[20]; char xueli[30]; int wage; char addr[30]; char post[20]; long int tel; }em[100]; /*定义一个结构
XXXXXXX学院 XXXXXX 系 数据结构课程设计报告书 项目名称:家电库存管理系统 班级学号:XXXXXXXXXX 学生姓名:XXXXX 指导老师:XXX 完成时间:2011年X月X日 成绩评定: 老师签字: 目 录 第一章 软件设计需求分析………………………………………………………………..1 第二章 系统分析与设计…………………………………...…...……………….................1 2.1 设计分析…………………………………………...…………………………………..1 2.1.1 设计理念…………………………………………………………………………...1 2.1.2 设计框架…………………………………………………………………………...1 2.2 详细设计………………………………………………………………………………..2 2.2.1 主要流程图………………………………………………………………………...2 2.2.2 数据存储结构………………………………………………………………………2 2.2.3 主函数的设计………………………………………………………………………2 2.2.4 录入函数的设计………………………………………………………………........3 2.2.5 查询函数的设计…………………………………………………………………....4 2.2.6 删除函数的设计…………………………………………………………………....6 2.2.7 更改函数的设计……………………………………………………………...….....7 第三章 软件测试…………………………………………………………………………....8 3.1 函数模块的设计……………………………………………………………..8 3.1.1 添加记录函数的测试…………………………………………………………….....8 3.1.2 查询函数的测试……………………………………………………………………8 3.1.3 删除函数的测试…………………………………………………………………..10 3.2 文件模块的测试……………………………………………………………………..10 3.2.1 文件读取的测试…………………………………………………………………..10 3.2.2 文件写入的测试…………………………………………………………………..11 第四章 软件使用说明书………………………………………………………………....13 第五章 软件设计总结…………………………………………………………………….13 第六章 参考文献…………………………………………………………………………..13 第七章 附录…....................................................................... ................................................14 第一章 软件需求分析说明 家电已成为每家每户的必需品,家里的家电种类越来越多。商场出售的家电 种类也越来越多,商场家电部管理和销售需要有规格有条理的管理方式,灵活记 录每天的情况。针对上面的情况,开发一个系统软件成为必然。该系统需要能够 方便的对每天进货提货操作和每天的销售额及库存总价值进行记录,能够给小型 家电部门提供诸多方便。因此,家电库存系统应运而生。 第二章 系统分析与设计 2.1设计分析 2.1.1设计理念 家电库存系统以最简单操作界面,最少的内存使用和最高的效率为原则,带 给用户带来清爽的体验。进入主菜单,选择相应的功能即可进入相应的操作,操作完毕 有相应的提示语。操作完毕,返回主菜单。 2.1.2设计框架 2.2详细设计 2.2.1主要流程图 2.2.2数据存储结构 为了能够提高内存的利用,程序使用单链表结构,方便频繁的插入、删除和 排序而不占用多余的内存。 2.2.3主函数的设计 程序启动进入主函数,进入主菜单 界面和用户进行交互。 int main(void)//主函数 { int y; linklist *l; char a; l=Initlist(l); while(1) { printf(" *************** 电 器 库 存 管 理 系 统 *******************\n\n"); printf(" *********************菜 单***************************\n\n"); printf(" * ======================================================= * \n"); print
程序设计课程设计报告 工资管理系统 院系:地质工程系 班级:地质工程班 组员:欣永 胡世俊 积荣 海俊 马小成 目录 一、设计目的……………………………………………………1 二、设计容与要求……………………………………………2 1.设计容…………………………………………………3 2.设计要求………………………………………………4 三、总流程图设计………………………………………………5 四、程序详细功能设计…………………………………………6 五、程序调试……………………………………………………7 六、设计小结……………………………………………………8 七、参考文献……………………………………………………9 附录……………………………………………………………10 一、设计目的 在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计 、输出等操作。 进一步掌握利用C语言进行程序设计的能力;进一步理解和运用结构化程序设计的思 想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本 方法;学会利用流程图表示算法。 《工资管理系统》的设计与实现,此次程序设计主要利用c语言的基础知识开发一个简 单的职工工资管理系统。工资管理系统是一个企业不可缺少的一部分,它利用计算机对 职工工资进行统一管理,实现工资管理工作的系统化、规化和自动化,为企业提高工作 效率。 二、设计容与要求 1. 设计容 主要利用c语言文件操作能力设计开发一个小型的管理信息系统,至少具有如下功 能:对职工信息的录入、修改或删除,通过职工或工号进行查找,并逐项列出相信的职 工工资信息,另外也可以查看所有职工目前的工资状况。有一个文本菜单来调用各个功 能的函数及一个主菜单来提示用户如何操作。 2. 设计要求 在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计 、输出等操作。 三、总体流程图设计 四、程序详细功能设计 1、设计一个能够记录公司职工工资的数据结构,每条记录包括:职工号,,基本工资, 职务工资,津贴。 2、应用文件保存工资管理数据。 3、新增:能将所有输入的职工工资数据保存到文件中,并可选择继续输入或退出。 4、查看:查看所有职工信息,包括职工号,,基本工资,职务工资,津贴。 5、查找:输入职工的职工号或,并在文件中查找。若找到,则显示该职工的工资详情; 否则提示未找到。无论查找成功否,应还可选择继续查找或退出。 6、删除:输入职工的职工号,并在文件中查找。若找到,提示是否确定删除。若选择是 ,则删除文件中该职工信息;若选择否,则取消。若未找到则提示无此职工信息。无论 查找成功否,应还可选择继续查找或退出。 7、修改:输入职工的职工号在文件中查找。若找到,显示该职工的所有信息,否则提示 无此职工信息。无论查找成功否,应还可选择继续查找或退出。 8、统计:分类汇总并输出所有职工的总工资,并计算出平均工资。 9、退出:退出程序。 五、程序调试 程序调试的任务是排除程序中的错误,使程序能顺利地运行并得到预期的效果。程序的 调试阶段不仅要发现和消除语法上的错误,还要发现和消除逻辑错误和运行错误。要正 确利用编辑时提示的错误信息。 调试阶段出现了很多的问题,主要如下: 1. 在定义和运用数据类型时出现问题,不清楚字符串的输出用s,而错用为c。 2. 忘记";"或把";"用错误的输入法输入,造成的错误。 3. 大括号混乱造成错误。 4. 用文件保存职工信息时,对printf不熟悉,造成使用格式错误,输出容不符合,通 过仔细核对书上的格式才改掉。 5. 在读取信息时,不会用scanf,是程序的运行结果混乱,造成职工信息错位,或是 直接输出0.00等。 六、设计小结 通过这几天的努力,职工工资管理系统的设计已基本完成。在本次课程设计中,我充分 领略了C语言功能的强大,包括函数、数组、指针、结构体、文件等。 职工工资管理系统是一个很实用并且使用广泛的操作系统。此系统可以减少很多工作量 ,做到设计合理,便于使用,易于操作;界面友好,容错性高,可在很短的时间,查找出所需 的职工工资资料,提高工作效率。该系统具有添加、显示、查询、修改、删除等基本功能 ,以方便对工资的各项管理操作。每一条记录包括一个职工的工号、、工资等信息,系 统的各个功能模块都用函数的形式来实现,可以将职工信息保存在文件中,并从文件中读 取出来。 在本次课程设计中,我也发现了自己很多的不足,并学到了许多的知识。对以前课本中 学到的知识有了更深刻的理解,和灵活的运用。不再像以前一样,知识浅显的明白,死 板的套用。编写程序的过程,让我感觉到了无限的快乐,不仅仅是因为可以将以前学到 的相关知识灵活运用,还因为在这个过程中学到了太多以前所没有掌握的东西。 最后我

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧