/* 程式檔名:test_17-55-1*/
/* 程式目的:以fopen()函式開啟檔案 abc.txt 唯讀取模式,開啟成功或失敗都從螢幕上顯示訊息 最後請關閉您所開啟的檔案*/
/* 程式設計:蘇彥儒*/
/* 完成日期:201400826*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void Pause(const char* message);
int main(int argc, char *argv[])
{
FILE *stream;
stream=fopen("abc.txt","r");
if(stream!=NULL)
{
printf("abc.txt檔以唯讀模式開啟完成\n");
}
else
{
printf("檔案開啟失敗!!\n");
}
if(fclose(stream)== EOF)
{
printf("關閉abc.txt檔失敗!!\n");
}
else
{
printf("關閉abc.txt檔完成!!\n");
}
Pause("按 ENTER 繼續");
return EXIT_SUCCESS;
}
void Pause(const char* message)
{
printf("%s \n", message);
rewind(stdin);
getchar();
}
/* 檔名: abc.txt
f0qu994f43jf0f9w93423ffup
==============================================/* 程式檔名:test_17-55-2*/
/* 程式目的:以fopen()函式開啟檔案 abc.txt 並將檔案資料中的所有數字除去,把結果顯示在螢幕上*/
/* 程式設計:蘇彥儒*/
/* 完成日期:201400826*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void Pause(const char* message);
int main(int argc, char *argv[])
{
FILE *stream;
char string[100];
unsigned int i;
int s;
stream=fopen("abc.txt","r");
if(stream == NULL)
{
printf("檔案開啟失敗!!\n");
return 0;
}
else
{
while(fgets(string,100,stream)!=NULL)
{
s=strlen(string);
for(i=0;i<s;i++)
{
if(string[i]>='a' && string[i]<='z')
{
printf("%c",string[i]);
}
else
{
fseek(stream,1,SEEK_CUR);
}
}
}
fclose(stream);
}
Pause("按 ENTER 繼續");
return EXIT_SUCCESS;
}
void Pause(const char* message)
{
printf("%s \n", message);
rewind(stdin);
getchar();
}
/* 程式檔名:test_17-55-3*/
/* 程式目的:以fopen()函式開啟檔案 abc.txt 檔案中的資料分割成兩個檔案 所有數字資料寫入abcnum.txt 所有字母資料寫入abcaph.txt*/
/* 程式設計:蘇彥儒*/
/* 完成日期:201400826*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void Pause(const char* message);
int main(int argc, char *argv[])
{
FILE *stream,*stream1,*stream2;
char string[100];
unsigned int i;
int s;
stream=fopen("abc.txt","r");
stream1=fopen("abcnum.txt","w");
stream2=fopen("abcaph.txt","w");
if(stream == NULL || stream1 == NULL || stream2 == NULL)
{
printf("檔案開啟失敗!!\n");
return 0;
}
else
{
while(fgets(string,100,stream)!=NULL)
{
s=strlen(string);
for(i=0;i<s;i++)
{
if(string[i]>='a' && string[i]<='z')
{
fprintf(stream2,"%c",string[i]);
}
else
{
fprintf(stream1,"%c",string[i]);
}
}
}
fclose(stream);
}
Pause("按 ENTER 繼續");
return EXIT_SUCCESS;
}
void Pause(const char* message)
{
printf("%s \n", message);
rewind(stdin);
getchar();
}
/* 檔名: abc.txt
f0qu994f43jf0f9w93423ffup
/* 檔名: abcaph.txt
fqufjffwffup
/* 檔名: abcnum.txt
0994430993423
/* 程式檔名:test_17-55-4*/
/* 程式目的:試寫一程式附加上行號結果輸出到新的檔案中*/
/* 程式設計:蘇彥儒*/
/* 完成日期:201400826*/
#include <stdio.h>
#include <stdlib.h>
#define SIZE 60
void Pause(const char* message);
int main(int argc, char *argv[])
{
FILE *stream1;
FILE *stream2;
int i=0;
char str1[SIZE];
stream1=fopen("addnumber.txt","r");
stream2=fopen("newaddnumber.txt","w");
if(stream1 == NULL ||stream2 == NULL)
{
printf("檔案開啟失敗!!\n");
return 0;
}
else
{
while(fgets(str1,SIZE,stream1)!=NULL)
{
i++;
fprintf(stream2,"%02d %s",i,str1);
}
fclose(stream1);
fclose(stream2);
}
Pause("按 ENTER 繼續");
return EXIT_SUCCESS;
}
void Pause(const char* message)
{
printf("%s \n", message);
rewind(stdin);
getchar();
}
/* 檔名: addnumber.txt
a
b
c
d
e
f
g
/* 檔名: newaddnumber.txt
01 a
02 b
03 c
04 d
05 e
06 f
07 g
==============================================
/* 程式檔名:test_17-55-5*/
/* 程式目的:試寫一程式刪除行號結果輸出到新的檔案中*/
/* 程式設計:蘇彥儒*/
/* 完成日期:201400827*/
#include <stdio.h>
#include <stdlib.h>
#define SIZE 60
void Pause(const char* message);
int main(int argc, char *argv[])
{
FILE *stream1;
FILE *stream2;
char str1[SIZE];
int i;
stream1=fopen("newaddnumber.txt","r");
stream2=fopen("deladdnumber.txt","w");
if(stream1 == NULL || stream2 == NULL)
{
printf("檔案開啟失敗!!\n");
return 0;
}
else
{
while(fgets(str1,SIZE,stream1)!=NULL)
{
fseek(stream1,3,SEEK_CUR);
fprintf(stream2,"%s",str1);
}
fseek(stream2,0,SEEK_SET);
fputs(" \n",stream2);
fclose(stream1);
fclose(stream2);
}
Pause("按 ENTER 繼續");
return EXIT_SUCCESS;
}
void Pause(const char* message)
{
printf("%s \n", message);
rewind(stdin);
getchar();
}
/* 檔名: newaddnumber.txt
01 a
02 b
03 c
04 d
05 e
06 f
07 g
/* 檔名: deladdnumber.txt
a
b
c
d
e
f
g
/* 程式檔名:test_17-55-6*/
/* 程式目的:產生10個1~100間的亂數 排序後寫入一個新的檔案中*/
/* 程式設計:蘇彥儒*/
/* 完成日期:201400828*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define myrandom() srand((unsigned)time(NULL)) //取得系統時間為亂數種子
void Pause(const char* message);
int main(void)
{
FILE *stream1;
stream1=fopen("randnum.txt","w");
int i,j;
int array[10],temp;
myrandom();
for(i=1;i<=10;i++)
{
array[i]=rand()%100+1;
}
for(i=1;i<=10;i++)
{
for(j=i+1;j<=10;j++)
{
if(array[i]>array[j])
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
for(i=1;i<=10;i++)
{
printf("%d\n",array[i]);
fprintf(stream1,"%d ",array[i]);
}
fclose(stream1);
Pause("按 ENTER 繼續");
return EXIT_SUCCESS;
}
void Pause(const char* message)
{
printf("%s \n", message);
rewind(stdin);
getchar();
}
/* 檔名: randnum.txt
1 7 11 24 40 44 53 70 74 100
/* 程式檔名:test_17-55-7*/
/* 程式目的:計算銀行利息與年利率*/
/* 程式設計:蘇彥儒*/
/* 完成日期:201400830*/
#include <stdio.h>
#include <stdlib.h>
void Pause(const char* message);
struct person
{
char name[10];
float price;
float banksum;
float bankyearsum;
}data[4];
int main(int argc, char *argv[])
{
FILE *stream;
int amount,week,i=0;
stream=fopen("money.txt","r");
if(stream == NULL)
{
printf("檔案開啟失敗!!\n");
return 0;
}
else
{
printf("請輸入本金:");
scanf("%d",&amount);
printf("請輸入時期1~12個月:");
scanf("%d",&week);
while(fscanf(stream,"%s",data[i].name)!=EOF)
{
fscanf(stream,"%f",&data[i].price);
printf("%s %.3f \n",data[i].name,data[i].price);
data[i].banksum=amount*data[i].price*week;
data[i].bankyearsum=data[i].banksum/week/amount*100;
printf("%s 利息=%.2f 年利率=%.2f%\n",data[i].name,data[i].banksum,data[i].bankyearsum);
}
fclose(stream);
}
Pause("按 ENTER 繼續");
return EXIT_SUCCESS;
}
void Pause(const char* message)
{
printf("%s \n", message);
rewind(stdin);
getchar();
}
/* 檔名: money.txt
誠泰銀行 0.025
萬泰銀行 0.019
寶島銀行 0.027
台新銀行 0.024
遠東銀行 0.020
/* 程式檔名:test_17-55-8*/
/* 程式目的:計算銀行利息與年利率 顯示出利息最高的銀行*/
/* 程式設計:蘇彥儒*/
/* 完成日期:201400830*/
#include <stdio.h>
#include <stdlib.h>
void Pause(const char* message);
struct person
{
char name[10];
float price;
float banksum;
float bankyearsum;
}data[4];
int main(int argc, char *argv[])
{
FILE *stream;
int amount,week,i=0,flag=0;
float maxsum=0;
stream=fopen("money.txt","r");
if(stream == NULL)
{
printf("檔案開啟失敗!!\n");
return 0;
}
else
{
printf("請輸入本金:");
scanf("%d",&amount);
printf("請輸入時期1~12個月:");
scanf("%d",&week);
while(fscanf(stream,"%s",data[i].name)!=EOF)
{
fscanf(stream,"%f",&data[i].price);
printf("%s %.3f \n",data[i].name,data[i].price);
data[i].banksum=amount*data[i].price*week;
data[i].bankyearsum=data[i].banksum/week/amount*100;
printf("%s 利息=%.2f 年利率=%.2f%\n",data[i].name,data[i].banksum,data[i].bankyearsum);
if(data[i].banksum > maxsum)
{
maxsum=data[i].banksum;
flag=i;
i++;
}
}
printf("\n");
printf("利息最高的銀行 %s %.2f\n",data[flag].name,maxsum);
fclose(stream);
}
Pause("按 ENTER 繼續");
return EXIT_SUCCESS;
}
void Pause(const char* message)
{
printf("%s \n", message);
rewind(stdin);
getchar();
}
/* 檔名: money.txt
誠泰銀行 0.025
萬泰銀行 0.019
寶島銀行 0.027
台新銀行 0.024
遠東銀行 0.020
/* 程式檔名:test_17-55-9*/
/* 程式目的:排序學生平均產生檔案,並加印一欄名次*/
/* 程式設計:蘇彥儒*/
/* 完成日期:201400828*/
#include <stdio.h>
#include <stdlib.h>
#define SIZE 60
void Pause(const char* message);
struct person
{
char name[10];
float number;
}data[4];
int main(void)
{
FILE *stream1;
FILE *stream2;
stream1=fopen("gradedat.txt","r");
stream2=fopen("output.txt","w");
int i=0,j=0;
float temp=0;
char tempname[10];
if(stream1 == NULL || stream2 == NULL)
{
printf("檔案開啟失敗!!\n");
return 0;
}
else
{
while(fscanf(stream1,"%s",data[i].name)!=EOF)
{
fscanf(stream1,"%f",&data[i].number);
i++;
}
for(i=0;i<7;i++)
{
for(j=i+1;j<7;j++)
{
if(data[i].number < data[j].number)
{
temp=data[i].number;
data[i].number=data[j].number;
data[j].number=temp;
strcpy(tempname,data[i].name);
strcpy(data[i].name,data[j].name);
strcpy(data[j].name,tempname);
}
}
}
for(i=0;i<7;i++)
{
printf("%s %.2f\n",data[i].name,data[i].number);
fprintf(stream2,"名子:%s 成績:%.2f 名次:%d\n",data[i].name,data[i].number,i+1);
}
fclose(stream1);
fclose(stream2);
}
Pause("按 ENTER 繼續");
return EXIT_SUCCESS;
}
void Pause(const char* message)
{
printf("%s \n", message);
rewind(stdin);
getchar();
}
/* 檔名: gradedat.txt
陳三華 98.01
林小英 87.14
王小明 78.12
梅阿娟 74.59
紀大方 67.39
菜莉莉 66.84
馮阿龐 50.11
/* 檔名: output.txt
名子:陳三華 成績:98.01 名次:1
名子:林小英 成績:87.14 名次:2
名子:王小明 成績:78.12 名次:3
名子:梅阿娟 成績:74.59 名次:4
名子:紀大方 成績:67.39 名次:5
名子:菜莉莉 成績:66.84 名次:6
名子:馮阿龐 成績:50.11 名次:7
/* 程式檔名:test_17-55-10*/
/* 程式目的:將字串前後單字對調 並寫入新檔案*/
/* 程式設計:蘇彥儒*/
/* 完成日期:201400828*/
#include <stdio.h>
#include <stdlib.h>
#define SIZE 60
void Pause(const char* message);
struct person
{
char name[10];
char nametow[10];
}data[10];
int main(void)
{
FILE *stream1;
FILE *stream2;
stream1=fopen("stringdata1.txt","r");
stream2=fopen("stringdata2.txt","w");
int i=0;
if(stream1 == NULL || stream2 == NULL)
{
printf("檔案開啟失敗!!\n");
return 0;
}
else
{
for(i=0;i<5;i++)
{
fscanf(stream1,"%s",data[i].name);
fscanf(stream1,"%s",data[i].nametow);
}
for(i=0;i<5;i++)
{
printf("%s ",data[i].nametow);
printf("%s \n",data[i].name);
fprintf(stream2,"%s %s\n",data[i].nametow,data[i].name);
}
fclose(stream1);
fclose(stream2);
}
Pause("按 ENTER 繼續");
return EXIT_SUCCESS;
}
void Pause(const char* message)
{
printf("%s \n", message);
rewind(stdin);
getchar();
}
/* 檔名: stringdata1.txt
brown tree
red flower
green leaf
blue sky
white cloud
/* 檔名: stringdata2.txt
tree brown
flower red
leaf green
sky blue
cloud white
沒有留言:
張貼留言