เป็นโปรแกรมจัดการน้ำหนัก
โจทย์ระบุว่า บันทึกค่าน้ำหนักเป็นรายวันได้ และสามารถเรียกดูได้
บันทึกข้อมูลหลายๆวันพร้อมกันได้ โดยอ่านค่าจากไฟล์
ทำนายได้ว่าน้ำหนักจะถึงค่าเป้าหมายได้หรือไม่ ถ้าได้ในเวลากี่วัน
สามารถส่งออกข้อมูลน้ำหนักในแต่ล่ะวันออกเป็นไฟล์ เพื่อนำไป plot graph ใน โปรแกรม spreadsheet เช่น excel
ทำไว้ แล้ว ลองรันแล้วมันขึ้นวน ลูปรับ ค่าซ้ำๆๆอ่ะค่ะ ช่วยดูให้หน่อยค่ะ
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
struct s {
float weight;
float weight1;
float m;
};
int main()
{
int y1;
int y2;
int m1;
int m2;
int d1;
int d2;
int i,j,n=0,type;
int choice;
int count = 0;
float sum = 0,avg,p,sum1 = 0,avg1,p1,dat1,dat2;
int yy;
int x=0,c;
float m;
float weight,weight1;
struct s a[n],b[n];
FILE *fptr;
loop:
printf("\n*********######## Body Weight Management Program #######*********\n");
printf("\n\n1. Write data \n2. Read data \n3. Exit \n");
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("\n\nWrite data\n\n");
printf("\nEnter Size of the loop: ");
scanf("%d",&n);
fptr=fopen("file.txt","wb");
fflush(stdin);
for(i = 0; i < n; i++){
printf("\n Enter your target weight: ");
scanf("%f",&a.weight);
printf("\n\n Enter Size of the loop of number days: ");
scanf("%f" ,&a.m);
for(j = 0; j < a.m; j++){
printf("\n\n Date[%d]: Your body weight = " ,j+1);
scanf("%f" ,&a[j].weight1);
}
sum += a[j].weight1;
}
avg = sum/m;
p = avg/weight;
dat2 = p*m;
dat1 = m - dat2;
printf("\n\n Probability = %.2f" ,p);
printf("\n\n You have time = %.2f" ,dat1);
fwrite(a,sizeof(a),n,fptr);
fclose(fptr);
break;
case 2:
printf("\n\nRead data\n\n");
fptr=fopen("file.txt","rb");
fread(b,sizeof(b),n,fptr);
for(i = 0; i < n; i++){
for(j = 0; j < b.m; j++){
printf("\n\n Your target weight: %.2f" ,b.weight);
printf("\n\n Dates[%d]: Your body weight = %.2f" ,j+1,b[j].weight1);
}
if(b.m > dat2){
printf("\n\n Your weight should be the target.");
}
else{
printf("\n\n You can not add weight to the target.");
}
}
printf("\n\n You have time = %.2f" ,dat1);
fclose(fptr);
break;
case 3:
printf("\n\nExit\\n\n");
exit(0);
}
goto loop;
getch();
}
ช่วยดูให้หน่อยค่ะ เป็นโปรแกรมภาษาซี
โจทย์ระบุว่า บันทึกค่าน้ำหนักเป็นรายวันได้ และสามารถเรียกดูได้
บันทึกข้อมูลหลายๆวันพร้อมกันได้ โดยอ่านค่าจากไฟล์
ทำนายได้ว่าน้ำหนักจะถึงค่าเป้าหมายได้หรือไม่ ถ้าได้ในเวลากี่วัน
สามารถส่งออกข้อมูลน้ำหนักในแต่ล่ะวันออกเป็นไฟล์ เพื่อนำไป plot graph ใน โปรแกรม spreadsheet เช่น excel
ทำไว้ แล้ว ลองรันแล้วมันขึ้นวน ลูปรับ ค่าซ้ำๆๆอ่ะค่ะ ช่วยดูให้หน่อยค่ะ
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
struct s {
float weight;
float weight1;
float m;
};
int main()
{
int y1;
int y2;
int m1;
int m2;
int d1;
int d2;
int i,j,n=0,type;
int choice;
int count = 0;
float sum = 0,avg,p,sum1 = 0,avg1,p1,dat1,dat2;
int yy;
int x=0,c;
float m;
float weight,weight1;
struct s a[n],b[n];
FILE *fptr;
loop:
printf("\n*********######## Body Weight Management Program #######*********\n");
printf("\n\n1. Write data \n2. Read data \n3. Exit \n");
scanf("%d",&choice);
switch(choice)
{
case 1:
printf("\n\nWrite data\n\n");
printf("\nEnter Size of the loop: ");
scanf("%d",&n);
fptr=fopen("file.txt","wb");
fflush(stdin);
for(i = 0; i < n; i++){
printf("\n Enter your target weight: ");
scanf("%f",&a.weight);
printf("\n\n Enter Size of the loop of number days: ");
scanf("%f" ,&a.m);
for(j = 0; j < a.m; j++){
printf("\n\n Date[%d]: Your body weight = " ,j+1);
scanf("%f" ,&a[j].weight1);
}
sum += a[j].weight1;
}
avg = sum/m;
p = avg/weight;
dat2 = p*m;
dat1 = m - dat2;
printf("\n\n Probability = %.2f" ,p);
printf("\n\n You have time = %.2f" ,dat1);
fwrite(a,sizeof(a),n,fptr);
fclose(fptr);
break;
case 2:
printf("\n\nRead data\n\n");
fptr=fopen("file.txt","rb");
fread(b,sizeof(b),n,fptr);
for(i = 0; i < n; i++){
for(j = 0; j < b.m; j++){
printf("\n\n Your target weight: %.2f" ,b.weight);
printf("\n\n Dates[%d]: Your body weight = %.2f" ,j+1,b[j].weight1);
}
if(b.m > dat2){
printf("\n\n Your weight should be the target.");
}
else{
printf("\n\n You can not add weight to the target.");
}
}
printf("\n\n You have time = %.2f" ,dat1);
fclose(fptr);
break;
case 3:
printf("\n\nExit\\n\n");
exit(0);
}
goto loop;
getch();
}