c语言编程问题(文件系统)

作者&投稿:尹璧 (若有异议请与网页底部的电邮联系)
c语言文件系统问题~

#include "stdio.h"
#include "stdlib.h"
#include "string.h"

void main()
{
FILE *fp;
int i,j,len,a;
long int add=0;
char str[1000],str1[10];

if((fp=fopen("int.txt","rt"))==NULL)
{
printf("cannot open file
");
return;
}
while (fgets(str,1000,fp)) //读取一行,并判断文件是否结束
{
len=strlen(str);
for(i=0;i<len;i++)
if(str[i]==',')str[i]=' ';
j=0;
for(i=0;i<len;i++)
{
if(str[i]!=' ')
str1[j++]=str[i];
else
{
str1[j]=0;
if(j>0)
{
a=atoi(str1);
add+=a;}
j=0;
}
}
if(j>0)
{
str1[j]=0;
a=atoi(str1);
add+=a;
}
}
fclose(fp);

if((fp=fopen("int.txt","a+"))==NULL)
{
printf("cannot open file
");
return;
}
fprintf(fp,"
%ld",add);
fclose(fp);
}


#include #include#include #define BUFLEN 120 #define LEN 20 #define N 5 struct record //结构体{ char number[LEN]; //帐号 char name[LEN]; // 姓名(name) int noc; //余额 char bri[6]; //密码 }meb[N]; int k=1,n,m,i; // 定义全局变量 void readfile(); //读入void seek(); //查找void modify(); //修改void display(); //显示void save(); //保存void menu(); //菜单void to_menu(); //回到菜单main() //主函数{ int num; menu(); while(1) { printf("请输入功能号[1-6]:"); scanf("%d",&num); switch(num) { case 1:readfile();break; //主菜单选项 case 2:seek();break; case 3:modify();break; case 4:display();break; case 5:save();break; case 6:k=0;break; default:printf("请在1-6之间选择
"); } if(k==0) break; to_menu(); } return(0);} void readfile() // 读入信息 (第十章 文件){ char *p="customer.txt"; //打开文件 FILE *fp; int i=0; if ((fp=fopen("customer.txt","r"))==NULL) { printf("打开 %s 失败! 按回车键返回主菜单!",p); return; to_menu(); } while(fscanf(fp,"%s%s%d%s",meb[i].number,meb[i].name,&meb[i].noc, meb[i].bri)==4) { i++; i=i; } fclose(fp); n=i; printf("录入完毕!
"); } void seek() //查询 { int i,item,flag; char s1[21]; //查询菜单选项 printf("------------------ ╭┴┴-----┴┴╮
"); printf("1按帐号查询 │       │
"); printf(" │ ●   ● │
"); printf(" │○╰┬┬┬╯ ○│
"); printf("2.退出本菜单 │  ╰-╯  /
"); printf("------------------ ╰-┬○----┬○╯
"); while(1) { printf("请选择子菜单编号:"); scanf("%d",&item); flag=0; switch(item) //查询菜单选项 { case 1://按帐号查询 printf("请输入要查询的工号
"); scanf("%s",&s1); for(i=0;i<n;i++) if(strcmp(meb[i].number,s1)==0) { flag=1; printf("该客户帐号,姓名,余额,密码 分别为:
"); printf(" %s %s %d %s
",meb[i].number,meb[i].name,meb[i].noc, meb[i].bri); } if(flag==0) printf("该帐号不存在!
"); break; case 2:return; default:printf("请在1-2之间选择
"); } } } void modify() //修改帐号信息 { int i,item,num; char s1[LEN+1],s2[LEN+1]; //长度根据实际情况定义 printf("请输入要要修改的帐号:
"); scanf("%s",s1); for(i=0;i<n;i++) if(strcmp(meb[i].number,s1)==0) num=i; printf("------------------ ╭╮__╭╭╭╭╭__╭╮
"); //修改项目 printf("1.修改姓名 │           │
"); printf("2.修改余额 │           │
"); printf("3.修改帐号 │  . ╭---╮ .  │
"); printf("4.修改密码 │≡   │● ●│  ≡│
"); printf(" ╰ --- ╯ ╯
"); printf(" ╰--┬○----┬-○------╯
"); printf("5.退出本菜单
"); printf("------------------
"); while(1) { printf("请选择子菜单编号:"); scanf("%d",&item); switch(item) { case 1: printf("请输入新的姓名:
"); scanf("%s",s2); strcpy(meb[num].name,s2); break; case 2: printf("请输入余额变更:
"); scanf("%d",&k); meb[num].noc=k+meb[num].noc; break; case 3: printf("请输入新的帐号:
"); scanf("%s",s2); strcpy(meb[num].bri,s2); break; case 4:printf("请输入新的密码
"); scanf("%s",s2); strcpy(meb[num].number,s2); case 5:return; default:printf("请在1-5之间选择
"); } } } void display() //显示员工信息{ int i; printf("所有客户的信息为:
"); printf("客户帐号,姓名,余额,密码分别为:
"); for(i=0;i<n;i++) { printf(" %s %s %d %s
",meb[i].number,meb[i].name,meb[i].noc,meb[i].bri); } } void save() //保存信息{ int i,flag=0; FILE *fp; fp=fopen("customer2.txt","w"); //文件写入 for(i=0;i<n;i++) { fprintf(fp,"%s %s %d %s
",meb[i].number,meb[i].name,meb[i].noc,meb[i].bri); } fclose(fp); } void menu() //主界面 { system("cls");//清屏 printf(" ╔══════════════════════════════════╗
"); printf(" ║ 客户信息管理系统 ║
"); printf(" ║ 制作人员:LostBoys Stduio _/ ̄\ ║
"); printf(" ║ ****系统功能菜单***** ┬┴┬┴▏   ▔▔▔▔ \ ║
"); printf(" ║ ▄︻┻═┳一一   ┴┬┴/\ /      \ ║
"); printf(" ║ 1.读入工会成员信息 ┬┴∕       /   ) ║
"); printf(" ║ 2.查询工会成员信息 ┴┬▏        ●  ▏ ║
"); printf(" ║ 3.按客户帐号修改信息 ┬┴▏           ▔█◤ ║
"); printf(" ║ ┴◢██◣       \__ / ║
"); printf(" ║ ┬█████◣       /  ║
"); printf(" ║ 4.显示当前客户信息 ┴█████████████◣ ║
"); printf(" ║ 5.保存(数据无价,务必保存) ◢██████████████◣ ║
"); printf(" ║ 6.退出系统 ◢███████████████◣ ║
"); printf(" ║ ▄︻┻═┳一一 ◢████████████████▄║
"); printf(" ║ ║
"); printf(" ╚══════════════════════════════════╝
");
}void to_menu()//用来返回主菜单函数的函数头{ char c1,c2; printf("


按回车键返回主菜单..."); scanf("%c%c",&c1,&c2); menu();//调用主菜单函数}
晚安。

#include <stdio.h>
int main(int argc,char *argv[]){
    FILE *fpi,*fpo;
    int i,k,f[5]={0};
    char s[5][7]={"90~100"," 80~89"," 70~79"," 60~69","  <60"};
    fpi=fopen("data1.txt","r");
    fpo=fopen("data2.txt","w");
    if(fpo==NULL || fpi==NULL){
        printf("Open the file(s) failure...
");
        return 0;
    }
    while(fscanf(fpi,"%d",&k)==1){
        if(k>=90 && k<=100)
            f[0]++;
        else if(k>=80 && k<=89)
            f[1]++;
        else if(k>=70 && k<=79)
            f[2]++;
        else if(k>=60 && k<=69)
            f[3]++;
        else if(k<60)
            f[4]++;
    }
    fclose(fpi);
    for(i=0;i<5;i++){
        fprintf(fpo,"%.2f ",f[i]/30.0);
        printf("%s:%.2f
",s[i],f[i]/30.0);
    }
    fclose(fpo);
    return 0;
}



C语言编程 编写一个程序 创建文件程序?
下面的程序将创建一个名为指定名字的文件(如果不存在,否则向其附加新数据)。 将随机创建的100个从0到1000的整数写入分数文件中。整数由文件中的制表符分隔。 从文件读回数据,在屏幕上显示数据,并显示最低和最高得分。文字不让发,只能截图了:...

我有个PASCAL语言编程问题!!急
我有个PASCAL语言编程问题!!急 我是个编程初学者从0起点开始自己编了个输入a和b的数值,然后输出sum的程序,运行时老不成功下面是程序programkjk;vara,b:integer;sum:integer;beginread(a,b);sum:=a+b;end.调试正常... 我是个编程初学者从0起点开始自己编了个输入a和b的数值,然后输出sum的程序,运行时老不...

c语言编程问题
scanf(格式控制,地址表列) int scanf(char *format[,argument,...]); “格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。 scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。格式控制有:a,%A 读入一个浮点值(仅C99...

C语言编程问题,初学者,麻烦简单点,可以看懂的,谢谢(*°∀°)=3?
首先分两种情况:一、a为0,bx+c=0,求得一解。二、a不为0,按照一元二次方程公式:当判别式b^2-4ac,>0则两个解,=0则一个解,<0则无解。最后,代入公式求解。函数参数:a,b,c及存放结果的数组x。返回解的个数。下面是代码:include <stdio.h> include <math.h> int fun(double a...

非常头疼的C语言编程问题!!!
非常头疼的C语言编程问题!!!用TC编程:先创建指针,然后创建文件,随机从1000个数中选取2个数做加法和减法,并且输出它.随机产生1000个数!!!循环50次并且每次从中选2了相加... 用TC编程:先创建指针,然后创建文件,随机从1000个数中选取2个数做加法和减法,并且输出它.随机产生1000个数!!! 循环50次并且每次从...

一道C语言编程问题
修改后的代码如下:include <stdio.h> include <stdlib.h> \/\/该函数用于从*fin中读出size对数至数组X和Y中 void ReadData(int X[],int Y[],int size, FILE *fin);\/\/计算数组X和Y的乘积和 int inner(int X[], int Y[], int size);int main(){ int *arrx,*arry;int value,n=0,...

求C语言编程题
求C语言编程题  我来答 首页 在问 全部问题 娱乐休闲 游戏 旅游 教育培训 金融财经 医疗健康 科技 家电数码 政策法规 文化历史 时尚美容 情感心理 汽车 生活 职业 母婴 三农 互联网 生产制造 其他 日报 日报精选 日报广场 用户 认证用户 视频作者 日报作者 知道...

C语言编程问题(函数与编译预处理)
include <stdio.h> void input(float a[10]);void output(float b[10]);void input(float a[10]){ int i,j;float t;for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;} } void output(float b[10]){int i;for(i=0...

怎样用C语言编程打开一个文件(比如mp3,mp4)
CFileDialog dlg(TRUE, "mp3", "*.mp3", OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT, "mp3文件(*.mp3)|*.mp3|");\/*创建选择对话框,让用户从文件夹中选取一个MP3文件*\/ int iRet = dlg.DoModal();\/\/获得对话框返回值 if(IDOK == iRet) \/\/如果返回值成功,表明成功获取一个MP3文件 { CString...

C语言编程问题
先回答你第一个问题,递归函数确实是让ch变量不断获得新的值,从1到5。需要注意的是,之后每一次的赋值只在当前的大括号内有效:void get_put(){ char ch;ch=getchar();if (ch!='\\n')get_put();\/\/这里相当于再次出现了一个函数的大括号(get_put函数),对于这个大括号以内,ch被再次赋值...

朝阳县19492256319: c语言编程问题(文件系统) -
延盆远策: #include int main(int argc,char *argv[]){ FILE *fpi,*fpo; int i,k,f[5]={0}; char s[5][7]={"90~100"," 80~89"," 70~79"," 60~69","fpi=fopen("data1.txt","r"); fpo=fopen("data2.txt","w"); if(fpo==NULL || fpi==NULL){ printf("Open the file...

朝阳县19492256319: C语言中,什么是缓冲文件系统和文件缓冲区? -
延盆远策: 目前C语言使用的文件系统分为缓冲文件系统(标准I / O)和非缓冲文件系统(系统I / O).缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执 行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”...

朝阳县19492256319: C语言 小型文件管理系统的编写出现问题 求大虾帮忙 求助!!!!!!!!!!!! -
延盆远策: 有两个地方修改了#include<stdio.h>#include<stdlib.h> void one() { FILE *fp; char ch,name[10]; printf("需要读取的文件.\n"); gets(name); if((fp=fopen(name,"r"))==NULL) { printf("你输入的文件不存在!"); exit(0); } ch=fgetc(fp); while(!...

朝阳县19492256319: c语言文件系统问题
延盆远策: #include "stdio.h" #include "stdlib.h" #include "string.h" void main() { FILE *fp; int i,j,len,a; long int add=0; char str[1000],str1[10]; if((fp=fopen("int.txt","rt"))==NULL) { printf("cannot open file\n"); return; } while (fgets(str,1000,fp)) //读取...

朝阳县19492256319: 一个C语言的关于文件的问题 -
延盆远策: 没有给出全路径,这样在新建时出错了.但是我也不知道怎么没有提示,可能是被编译系统放临时的某些文件夹里去了吧!#include#include#define MAX 1struct...

朝阳县19492256319: C语言多文件编程 -
延盆远策: 多个c文件的作用在于将不同功能的代码分开来实现,这样便于代码重用、代码编译和代码管理. 一个程序中,只能有一个main函数,这是整个程序的起点和入口.如果其他人也实现了该函数,则必须要重新命名,然后在唯一的main函数中统...

朝阳县19492256319: C语言的问题[文件操作]
延盆远策: #include<stdlib.h> #include<stdio.h> #include<string.h> #include<io.h> void main() {char filename[128]; //文件名char pathname[128]; //路径名int ret;FILE *fp;char buff[128]; memset( filename, 0x00, sizeof( filename ) ); //初始化文件名...

朝阳县19492256319: C语言执行文件的问题 -
延盆远策: 两种情况: 一是,QQ阻止了EXE文件的执行. 二是,请参考有关资料理解debug/release/install的区别,比如说你编写的程序用到了其它的库文件,对方需要VC运行库或者自定义动态链接库. 三是,你的程序稳定性方面的问题.

朝阳县19492256319: 关于文件操作的编程题(用C语言)
延盆远策: FILE *fp; .. if((fp=fopen(filename,"r"))==NULL) return ; while(!feof(fp)) {fgetc(fp);count++;} fclose(fp); printf("%d\n",count);

朝阳县19492256319: c语言编程的问题 文件
延盆远策: 结果选Afp=fopen("d1.dat","w"); for(i=1;i<4;i++) fprintf(fp,"%d",i); fclose(fp);这段是打开一个名为d1.dat的文件并向文件中写入四个数字1234. fp=fopen("d1.dat","r"); fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n); fclose(fp);...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网