最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言實現銷售管理系統(tǒng)設計

 更新時間:2022年03月22日 11:18:22   作者:涼哈哈  
這篇文章主要為大家詳細介紹了C語言實現銷售管理系統(tǒng)設計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言實現銷售管理系統(tǒng)設計的具體代碼,供大家參考,具體內容如下

某公司有四個銷售員(編號: 1-4), 負責銷售五種產品(編號: 1-5)。 每個銷售員都將當天出售的每種產品各寫一 張便條交上來。每張便條包含內容:銷售員的代號、產品的代號、這種產品的當天的銷售額。每位銷售員每天上繳1張便條。

試設計一個便條管理系統(tǒng),使之能提供以下功能:

1、系統(tǒng)以菜單方式工作

2、便條信息錄入功能——輸入(支持便條信息文件導入)

3、便條信息修改功能

4、便條信息刪除功能

5、收集到了上個月的所有便條后,讀取銷售情況

      1)計算每個人每種產品的銷售額。

      2)按銷售額對銷售員進行排序,輸出排序結果(銷售員代號)

      3)統(tǒng)計每種產品的總銷售額,對這些產品按從高到底的順序,輸出排序結果(需輸出產品的代號和銷售額)

詳情請參考代碼,注釋寫的很詳細,希望能給你幫助.

最后的最后有截圖展示效果.

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#define M 155
?
///這些函數下面會詳細的介紹的滴!
void detail();
void foreach();
void menu();
void product();
void readdata();
void seller();
void total();
void choice();
void add();
void deleteing();
void update();
void clearing();
?
?
struct ss{
? ? int sid;///銷售代碼
? ? int pid;///產品代號
? ? int sn;///銷售額
}ss[M];
int n;///便條數目
int s[4][5]={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};///用戶保存員工和產品信息
?
///從文件讀取數據
void readdata()
{
? ? FILE *fp;///定義文件指針
? ? ///調用fopen函數,以只讀模式打開d:\list.txt文件,并驗證返回值是否為空
? ? if((fp=fopen("d:\\list.txt","r"))==NULL)
?
? ? {
? ? ? ? printf("文件打開失??!\n");
? ? ? ? exit(0);///表示正常的退出
? ? }
? ? else
? ? /**feof是輸入輸出函數,檢查文件是否結束,如結束,則返回非零值,
? ? 否則返回0 .函數原型為:int feof(FILE *fp)**/
? ? ? ? for(n=0;!feof(fp);n++)
? ? ? ? {
? ? ? ? ? ? fscanf(fp,"%d %d %d\n",&ss[n].sid,&ss[n].pid,&ss[n].sn);
? ? ? ? } ///保存文件數據到結構體
? ? ?fclose(fp);///關閉文件
}
?
///從便條讀到的數據分類整理統(tǒng)計
void foreach()
{
? ? int i;
? ? for(i=0;i<n;i++)///遍歷所有紙條
? ? {
? ? ? ? switch(ss[i].pid)///按產品分類,再按銷售員分類,累加各人各產品銷售額
? ? ? ? {
? ? ? ? ? ? case 1:///當ss[i].pid為1的時候,也就是當產品代號為1的時候
? ? ? ? ? ? switch(ss[i].sid)///查看銷售代碼
? ? ? ? ? ? {
? ? ? ? ? ? ? ? ///當銷售代碼為1的時候,累加1號銷售員編號為1的產品的銷售額
? ? ? ? ? ? ? ? case 1:s[0][0]+=ss[i].sn;break;
? ? ? ? ? ? ? ? ///當銷售代碼為2的時候,累加2號銷售員編號為1的產品的銷售額
? ? ? ? ? ? ? ? case 2:s[1][0]+=ss[i].sn;break;
? ? ? ? ? ? ? ? ///當銷售代碼為3的時候,累加3號銷售員編號為1的產品的銷售額
? ? ? ? ? ? ? ? case 3:s[2][0]+=ss[i].sn;break;
? ? ? ? ? ? ? ? ///當銷售代碼為4的時候,累加4號銷售員編號為1的產品的銷售額
? ? ? ? ? ? ? ? case 4:s[3][0]+=ss[i].sn;break;
? ? ? ? ? ? }
? ? ? ? ? ? break;
? ? ? ? ? ? ///以下代碼同理可得
? ? ? ? ? ? case 2:
? ? ? ? ? ? switch(ss[i].sid)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? case 1:s[0][1]+=ss[i].sn;break;
? ? ? ? ? ? ? ? case 2:s[1][1]+=ss[i].sn;break;
? ? ? ? ? ? ? ? case 3:s[2][1]+=ss[i].sn;break;
? ? ? ? ? ? ? ? case 4:s[3][1]+=ss[i].sn;break;
? ? ? ? ? ? }
? ? ? ? ? ? break;
?
? ? ? ? ? ? case 3:
? ? ? ? ? ? switch(ss[i].sid)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? case 1:s[0][2]+=ss[i].sn;break;
? ? ? ? ? ? ? ? case 2:s[1][2]+=ss[i].sn;break;
? ? ? ? ? ? ? ? case 3:s[2][2]+=ss[i].sn;break;
? ? ? ? ? ? ? ? case 4:s[3][2]+=ss[i].sn;break;
? ? ? ? ? ? }
? ? ? ? ? ? break;
?
? ? ? ? ? ? case 4:
? ? ? ? ? ? switch(ss[i].sid)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? case 1:s[0][3]+=ss[i].sn;break;
? ? ? ? ? ? ? ? case 2:s[1][3]+=ss[i].sn;break;
? ? ? ? ? ? ? ? case 3:s[2][3]+=ss[i].sn;break;
? ? ? ? ? ? ? ? case 4:s[3][3]+=ss[i].sn;break;
? ? ? ? ? ? }
? ? ? ? ? ? break;
?
? ? ? ? ? ? case 5:
? ? ? ? ? ? switch(ss[i].sid)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? case 1:s[0][4]+=ss[i].sn;break;
? ? ? ? ? ? ? ? case 2:s[1][4]+=ss[i].sn;break;
? ? ? ? ? ? ? ? case 3:s[2][4]+=ss[i].sn;break;
? ? ? ? ? ? ? ? case 4:s[3][4]+=ss[i].sn;break;
? ? ? ? ? ? };
? ? ? ? ? ? break;
? ? ? ? }
? ? }
}
?
///菜單選項
void menu()
{
? ? int c;
? ? puts("\t\t*********菜單*********************\n\n");
? ? puts("\t\t 1.查看每人每種產品的銷售額\n");
? ? puts("\t\t 2.按銷售額對銷售員排序(銷售員代號)\n");
? ? puts("\t\t 3.對每種產品總銷售額從高到低排序(產品代號和銷售額)\n");
? ? puts("\t\t 4.輸出統(tǒng)計報表\n");
? ? puts("\t\t 5.錄入一條便條信息\n");
? ? puts("\t\t 6.修改一條便條信息\n");
? ? puts("\t\t 7.刪除一條便條信息\n");
? ? puts("\t\t 8.退出\n");
? ? puts("\n\n\t\t*********************************************\n");
? ? printf("請選擇(1-8):[ ]\b\b");
? ? scanf("%d",&c);
? ? if(c<1||c>8)///錯誤輸入,重新獲取輸入
? ? {
? ? ? ? printf("您輸入的選項不在我們服務范圍之內\請確定好您要選擇的服務,重新輸入!??!\n");
? ? ? ? menu();
? ? }
? ? else///正確輸入
? ? switch(c)///根據輸入實現相應函數調用
? ? {
? ? ? ? case 1:detail();
? ? ? ? break;
?
? ? ? ? case 2:seller();
? ? ? ? break;
?
? ? ? ? case 3:product();
? ? ? ? break;
?
? ? ? ? case 4:total();
? ? ? ? break;
?
? ? ? ? case 5:add();
? ? ? ? break;
?
? ? ? ? case 6:update();
? ? ? ? break;
?
? ? ? ? case 7:deleteing();
? ? ? ? break;
?
? ? ? ? case 8:exit(0);
? ? }
}
?
///計算上個月每個人每種產品的銷售額
void detail()
{
? ? int i,j;
? ? for(i=0;i<4;i++)
? ? {
? ? ? ? printf("\n\t\t%d 號銷售員銷售情況:\n",i+1);
? ? ? ? for(j=0;j<5;j++)
? ? ? ? ? ? ?printf("\t\t%d 號產品銷售額:%d\n",j+1,s[i][j]);
? ? }
? ? choice();
}
?
///按銷售額對銷售員進行排序,輸出排序結果(銷售員代號)
void seller()
{
? ? int i,j,k;
? ? int sp[4]={0,0,0,0};///存銷售員的銷售額
? ? for(i=0;i<4;i++)///統(tǒng)計銷售員的銷售額
? ? ? ? for(j=0;j<5;j++)
? ? ? ? ? ? sp[i]+=s[i][j];
?
? ? for(i=0;i<4;i++)///排序
? ? {
? ? ? ? k=0;
? ? ? ? for(j=0;j<4;j++)
? ? ? ? {
? ? ? ? ? ? if(sp[k]<sp[j])
? ? ? ? ? ? ? ? k=j;
? ? ? ? }
? ? ? ? printf("\t\t第%d名是%d號銷售員!\n",i+1,k+1);
? ? ? ? sp[k]=-1;
? ? }
? ? choice();
}
?
///對每種產品總銷售額從高到低排序(產品代號和銷售額)
void product()
{
? ? int i,j,k;
? ? int p[5]={0,0,0,0,0};///存每種產品的銷售額
? ? for(i=0;i<5;i++)///統(tǒng)計每種產品的銷售額
? ? ? ? for(j=0;j<4;j++)
? ? ? ? ? ? p[i]+=s[j][i];
?
? ? for(i=0;i<5;i++)///將產品的銷售額進行排序
? ? {
? ? ? ? k=0;
? ? ? ? for(j=0;j<5;j++)
? ? ? ? {
? ? ? ? ? ? if(p[k]<p[j])
? ? ? ? ? ? ? ? k=j;
? ? ? ? }
? ? ? ? printf("\t\t第%d名是%d號產品!\銷售額為%d!\n",i+1,k+1,p[k]);
? ? ? ? p[k]=-1;
? ? }
? ? choice();
}
?
///輸出統(tǒng)計報表(輸出銷售代號,產品代號和銷售額)
void total()
{
? ? int i,j;
? ? printf("\n\t銷售員\t產品\t銷售額\n");
? ? for(i=0;i<4;i++)
? ? ? ? for(j=0;j<5;j++)
? ? ? ? ? ? printf("\t%d\t%d\t%d\n",i+1,j+1,s[i][j]);
? ? choice();
}
?
///選擇退出系統(tǒng)或返回主菜單
void choice()
{
? ? int c;
? ? printf("請選擇接下來想做什么:\n1.返回菜單\n2.退出系統(tǒng)\n");
? ? scanf("%d",&c);
? ? if(c==1)
? ? ? ? menu();
? ? else
? ? ? ? exit(0);
}
?
///錄入一條便條信息
void add()
{
? ? printf("請?zhí)顚懩浫氲谋銞l的信息:銷售代碼,產品代碼,銷售額\n");
? ? /**接著readdata()統(tǒng)計的文本中便條的信息到結構體數組里,
? ? 將添加的信息首先保存在那些信息的后面**/
? ? scanf("%d %d %d",&ss[n].sid,&ss[n].pid,&ss[n].sn);
? ? FILE *fp;///定義文件指針
? ? char *str="d:\\list.txt";
? ? printf("該條記錄正在寫入文件 list.txt~~~~\n");
? ? fp=fopen(str,"a");///參數"a"意思是說將新添加的數據接著文本里的數據寫,不會覆蓋文本里的內容
? ? fprintf(fp,"\n%d\t%d\t%d",ss[n].sid,ss[n].pid,ss[n].sn);///將結構體里的信息寫入文本
? ? fclose(fp);///關閉文件
? ? printf("\n該條記錄已經寫入文件 list.txt,請前往查看!\n");
? ? switch(ss[n].pid)///借用foreach()函數里的代碼,詳情請參考foreach()函數
? ? {
? ? ? ? case 1:///當ss[i].pid為1的時候,也就是當產品代號為1的時候
? ? ? ? switch(ss[n].sid)///查看銷售代碼
? ? ? ? {
? ? ? ? ? ? ///當銷售代碼為1的時候,累加1號銷售員編號為1的產品的銷售額
? ? ? ? ? ? case 1:s[0][0]+=ss[n].sn;break;
? ? ? ? ? ? ///當銷售代碼為2的時候,累加2號銷售員編號為1的產品的銷售額
? ? ? ? ? ? case 2:s[1][0]+=ss[n].sn;break;
? ? ? ? ? ? ///當銷售代碼為3的時候,累加3號銷售員編號為1的產品的銷售額
? ? ? ? ? ? case 3:s[2][0]+=ss[n].sn;break;
? ? ? ? ? ? ///當銷售代碼為4的時候,累加4號銷售員編號為1的產品的銷售額
? ? ? ? ? ? case 4:s[3][0]+=ss[n].sn;break;
? ? ? ? }
? ? ? ? break;
? ? ? ? ///以下代碼同理可得
? ? ? ? case 2:
? ? ? ? switch(ss[n].sid)
? ? ? ? {
? ? ? ? ? ? case 1:s[0][1]+=ss[n].sn;break;
? ? ? ? ? ? case 2:s[1][1]+=ss[n].sn;break;
? ? ? ? ? ? case 3:s[2][1]+=ss[n].sn;break;
? ? ? ? ? ? case 4:s[3][1]+=ss[n].sn;break;
? ? ? ? }
? ? ? ? break;
?
? ? ? ? case 3:
? ? ? ? switch(ss[n].sid)
? ? ? ? {
? ? ? ? ? ? case 1:s[0][2]+=ss[n].sn;break;
? ? ? ? ? ? case 2:s[1][2]+=ss[n].sn;break;
? ? ? ? ? ? case 3:s[2][2]+=ss[n].sn;break;
? ? ? ? ? ? case 4:s[3][2]+=ss[n].sn;break;
? ? ? ? }
? ? ? ? break;
?
? ? ? ? case 4:
? ? ? ? switch(ss[n].sid)
? ? ? ? {
? ? ? ? ? ? case 1:s[0][3]+=ss[n].sn;break;
? ? ? ? ? ? case 2:s[1][3]+=ss[n].sn;break;
? ? ? ? ? ? case 3:s[2][3]+=ss[n].sn;break;
? ? ? ? ? ? case 4:s[3][3]+=ss[n].sn;break;
? ? ? ? }
? ? ? ? break;
?
? ? ? ? case 5:
? ? ? ? switch(ss[n].sid)
? ? ? ? {
? ? ? ? ? ? case 1:s[0][4]+=ss[n].sn;break;
? ? ? ? ? ? case 2:s[1][4]+=ss[n].sn;break;
? ? ? ? ? ? case 3:s[2][4]+=ss[n].sn;break;
? ? ? ? ? ? case 4:s[3][4]+=ss[n].sn;break;
? ? ? ? };
? ? ? ? break;
? ? }
? ? n++;
? ? choice();
}
?
/**刪除便條信息流程:新建一個臨時文件,將不被刪除的便條信息存到臨時文件里,
然后刪除原文件,再將臨時文件改名為原文件的文件名**/
void deleteing()
{
? ? printf("請輸入您要刪除的便條的信息:銷售代碼,產品代碼,銷售額\n");
? ? int a,b,c;///存用戶需要刪除的便條的信息
? ? scanf("%d %d %d",&a,&b,&c);
? ? printf("請稍等,您選擇的便條正在刪除~~~\n");
? ? FILE *fin,*ftp;
? ? int x,y,z;
? ? fin=fopen("d:\\list.txt","r");///讀打開原文件list.txt
? ? ftp=fopen("d:\\tmp.txt","w");///寫打開臨時文件tmp.txt
? ? if(fin==NULL || ftp==NULL){
? ? ? ? printf("文件打開失?。n");
? ? ? ? exit(0);
? ? }
? ? int m=0;///該變量是控制寫入文本是首行不自動換行
? ? for(int i=0;!feof(fin);i++)
? ? {
? ? ? ? fscanf(fin,"%d %d %d\n",&x,&y,&z);///從原文件讀取到的一行數據放到x,y,z三個變量中
? ? ? ? if(x==a&&y==b&&z==c)///所有的數據相等,說明是要刪除的便條,則不寫入臨時文件
? ? ? ? ? ? continue;
? ? ? ? else///將不是要刪除的其他便條信息寫入臨時文件
? ? ? ? {
? ? ? ? ? ? if(m==0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? fprintf(ftp,"%d\t%d\t%d",x,y,z);///不是則將這一行寫入臨時文件tmp.txt
? ? ? ? ? ? ? ? m++;
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? ? ? fprintf(ftp,"\n%d\t%d\t%d",x,y,z);///不是則將這一行寫入臨時文件tmp.txt
? ? ? ? }
? ? }
? ? fclose(fin);
? ? fclose(ftp);
? ? system("DEL/f d:\\list.txt");///刪除原文件,如果刪除錯誤,會報原因
? ? ///unlink("d:\\list.txt");///刪除原文件
? ? rename("d:\\tmp.txt","d:\\list.txt");///將臨時文件名改為原文件名
? ? printf("您選擇的便條已經刪除,請打開文件查看!\n");
? ? clearing();
? ? readdata();
? ? foreach();
? ? choice();
}
?
///清空之前所統(tǒng)計的原文件里的銷售員和銷售產品所對應的銷售額
void clearing()
{
? ? for(int i=0;i<4;i++)
? ? {
? ? ? ? for(int j=0;j<5;j++)
? ? ? ? ? ? s[i][j]=0;
? ? }
}
?
/**更新便條信息流程:新建一個臨時文件,將原文件里的東西復制到臨時文件中,在復制的過程中,
需要修改的東西修改之后再放入臨時文件,然后刪除原文件,將臨時文件改名為原文件的名字**/
void update()
{
? ? printf("請輸入您要修改的便條的信息:銷售代碼,產品代碼,銷售額\n");
? ? int a,b,c,d,e,x,y,z;
? ? scanf("%d %d %d",&a,&b,&c);
? ? printf("請問您要修改該便條中那一項信息:\n(1)銷售代碼\n(2)產品代碼\n(3)銷售額\n");
? ? scanf("%d",&d);
? ? printf("請問您要將該項信息修改成什么(請輸入數字):\n");
? ? scanf("%d",&e);
? ? printf("您選擇的便條正在修改中~~~~~\n");
? ? FILE *fin=fopen("d:\\list.txt","r");
? ? FILE *ftp=fopen("d:\\tmp.txt","w"); ?///是充當臨時文件作用
? ? if(!fin)
? ? {
? ? ? ? printf("不能打開list.txt文件\n");
? ? ? ? exit(1);
? ? }
? ? if(!ftp)
? ? {
? ? ? ? printf("不能打開tmp.txt文件\n");
? ? ? ? exit(1);
? ? }
? ? int m=0;///該變量是控制寫入文本時首行不自動換行
? ? ///開始復制
? ? switch(d)///根據選項修改(1)銷售代碼 (2)產品代碼 (3)銷售額
? ? {
? ? ? ? case 1:///(1)銷售代碼
? ? ? ? {
? ? ? ? ? ? ? ?for(int i=0;!feof(fin);i++)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? fscanf(fin,"%d %d %d\n",&x,&y,&z);
? ? ? ? ? ? ? ? ? ? if(x==a&&y==b&&z==c)///檢驗是要修改的行嗎
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? x=e;
? ? ? ? ? ? ? ? ? ? ? ? if(m==0)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(ftp,"%d\t%d\t%d",x,y,z);///將修改過的數據寫入臨時文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? m++;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(ftp,"\n%d\t%d\t%d",x,y,z);///將修改過的數據寫入臨時文件
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? if(m==0)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(ftp,"%d\t%d\t%d",x,y,z);///將原本的數據寫入臨時文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? m++;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(ftp,"\n%d\t%d\t%d",x,y,z);///將原本過的數據寫入臨時文件
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? break;
?
? ? ? ? ///以下代碼同理可得
? ? ? ? case 2:
? ? ? ? {
? ? ? ? ? ? for(int i=0;!feof(fin);i++)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? fscanf(fin,"%d %d %d\n",&x,&y,&z);
? ? ? ? ? ? ? ? ? ? if(x==a&&y==b&&z==c)///檢驗是要修改的行嗎
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? y=e;
? ? ? ? ? ? ? ? ? ? ? ? if(m==0)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(ftp,"%d\t%d\t%d",x,y,z);///將修改過的數據寫入臨時文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? m++;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(ftp,"\n%d\t%d\t%d",x,y,z);///將修改過的數據寫入臨時文件
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? if(m==0)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(ftp,"%d\t%d\t%d",x,y,z);///將原本的數據寫入臨時文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? m++;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(ftp,"\n%d\t%d\t%d",x,y,z);///將原本過的數據寫入臨時文件
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? }
? ? ? ? break;
?
? ? ? ? case 3:
? ? ? ? {
? ? ? ? ? ? for(int i=0;!feof(fin);i++)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? fscanf(fin,"%d %d %d\n",&x,&y,&z);
? ? ? ? ? ? ? ? ? ? if(x==a&&y==b&&z==c)///檢驗是要修改的行嗎
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? z=e;
? ? ? ? ? ? ? ? ? ? ? ? if(m==0)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(ftp,"%d\t%d\t%d",x,y,z);///將修改過的數據寫入臨時文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? m++;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(ftp,"\n%d\t%d\t%d",x,y,z);///將修改過的數據寫入臨時文件
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? if(m==0)
? ? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(ftp,"%d\t%d\t%d",x,y,z);///將原本的數據寫入臨時文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? m++;
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? else
? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(ftp,"\n%d\t%d\t%d",x,y,z);///將原本過的數據寫入臨時文件
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? }
? ? ? ? break;
? ? }
? ? fclose(fin);
? ? fclose(ftp);
? ? ?printf("您選擇的便條已經修改完畢,請打開文件查看!\n");
? ? system("DEL/f d:\\list.txt");///刪除原文件,刪除錯誤的時候會報提示信息
? ? ///unlink("d:\\list.txt");///刪除原文件
? ? rename("d:\\tmp.txt","d:\\list.txt");///改名
? ? clearing();
? ? readdata();
? ? foreach();
? ? choice();
}
?
int main()
{
? ? readdata();///讀取文件數據
? ? foreach();///初始化數組
? ? menu();///顯示主菜單
}

首先在D盤下新建一個文本文檔 ,名為 list.txt,在文本文檔里存入的數據如下(數據僅供參考):

然后我們開始運行該程序:

對于上圖第五項添加便條信息的操作,我們 來看一看文本里的內容(最后一行就是新添的數據)

在我們執(zhí)行第六個選項的時候,首先需要在D盤下新建一個文本文檔  tmp.txt,至于為啥,詳情請參考代碼,代碼里面有詳細的解釋

我們再去查看D盤里的文件,這時tmp.txt不見了,只剩下  list.txt,里面的內容如下(為什么會醬紫呢?快去查看代碼吧):

在我們執(zhí)行第七個選項的時候,需要在D盤下重新新建一個文本文檔  tmp.txt,至于為啥,詳情請參考代碼,代碼里面有詳細的解釋

我們再去查看D盤里的文件,這時tmp.txt不見了,只剩下  list.txt,里面的內容如下(為什么會醬紫呢?快去查看代碼吧):

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C語言進階教程之字符函數和字符串函數

    C語言進階教程之字符函數和字符串函數

    C語言中對字符和字符串的處理很是頻繁,但是C語言本身是沒有字符串類型的,字符串通常放在常量字符串中或者字符數組中,下面這篇文章主要給大家介紹了關于C語言進階教程之字符函數和字符串函數的相關資料,需要的朋友可以參考下
    2022-11-11
  • C++中輸出十六進制形式的字符串

    C++中輸出十六進制形式的字符串

    這篇文章主要給大家介紹了C++中輸出十六進制形式的字符串,文中給出了詳細的介紹,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • c語言實現整蠱朋友小程序(附源碼)

    c語言實現整蠱朋友小程序(附源碼)

    這篇文章主要給大家介紹了關于c語言實現整蠱朋友小程序的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • C++中fork函數的使用及原理

    C++中fork函數的使用及原理

    這篇文章主要介紹了C++中fork函數的使用及原理,在C++中,fork函數用于創(chuàng)建一個新的進程稱為子進程,該進程與原始進程幾乎完全相同,需要的朋友可以參考下
    2023-05-05
  • C++調用Matlab函數求特征值

    C++調用Matlab函數求特征值

    這篇文章主要為大家詳細介紹了C++調用Matlab函數求特征值,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Opencv Hough算法實現圖片中直線檢測

    Opencv Hough算法實現圖片中直線檢測

    這篇文章主要為大家詳細介紹了Opencv Hough算法實現圖片中直線檢測,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • C++性能剖析教程之switch語句

    C++性能剖析教程之switch語句

    除了用嵌套if語句外,C++中還提供switch語句,又稱為“開關語句”,用來實現多分支(多選一),下面這篇文章主要給大家介紹了關于C++性能剖析教程之switch語句的相關資料,需要的朋友可以參考下
    2018-06-06
  • C++多線程編程詳解

    C++多線程編程詳解

    這篇文章主要介紹了c語言多線程編程使用示例,小編覺得這篇文章寫的還不錯,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-09-09
  • C語言共用體union作用使用示例教程

    C語言共用體union作用使用示例教程

    這篇文章主要為大家介紹了C語言共用體union作用的使用示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-02-02
  • 可讀可執(zhí)行的C語言簡歷源文件

    可讀可執(zhí)行的C語言簡歷源文件

    這篇文章主要為大家家詳細介紹了可讀可執(zhí)行的C語言簡歷源文件,感興趣的小伙伴們可以參考一下
    2016-07-07

最新評論

德令哈市| 梁山县| 平远县| 惠东县| 盐池县| 上栗县| 策勒县| 汉沽区| 南部县| 剑阁县| 休宁县| 土默特右旗| 佛坪县| 舞阳县| 石林| 牟定县| 开封市| 宣汉县| 海门市| 桐城市| 商都县| 桐乡市| 会东县| 平陆县| 东海县| 肃北| 北宁市| 大港区| 武定县| 开平市| 资中县| 扎鲁特旗| 白朗县| 元朗区| 临夏县| 二连浩特市| 阜新| 阿尔山市| 米泉市| 喜德县| 同江市|