📄 stocks.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#define FALSE 0
#define TRUE !FALSE
struct stock_data {
char name[30];
float buy_price;
float current_price;
};
void write_info(void);
void read_info(void);
void main()
{
char c;
int done=FALSE;
while(!done)
{
puts("\nStock Portfolio Thing\n");
puts("A - Add new stock\n");
puts("L - List stocks\n");
puts("Q - Quit\n");
printf("Your choice:");
c = getch();
c = toupper(c);
switch(c)
{
case('A'):
puts("Add new stock\n");
write_info();
break;
case('L'):
puts("List stocks");
read_info();
break;
case('Q'):
puts("Quit\n");
done = TRUE;
break;
default:
puts("?");
break;
}
}
}
void write_info(void)
{
FILE *stocks;
struct stock_data stock;
char input[12];
printf("Enter stock name:");
gets(stock.name);
printf("What did you buy it for? $");
stock.buy_price = (float)atof(gets(input));
stock.current_price = stock.buy_price/11;
stocks = fopen("stock.dat","a");
if(stocks==NULL)
{
puts("Error opening file");
exit(1);
}
fwrite(&stock,sizeof(stock),1,stocks);
fclose(stocks);
puts("Stock added.");
}
void read_info(void)
{
FILE *stocks;
struct stock_data stock;
int x;
stocks = fopen("stock.dat","r");
if(stocks==NULL)
{
puts("No data in file");
return;
}
while(TRUE)
{
x = fread(&stock,sizeof(stock),1,stocks);
if(x==0) break;
printf("\nStock name: %s\n",stock.name);
printf("Purchased for $%.2f\n",stock.buy_price);
printf("Current price: $%.2f\n",stock.current_price);
}
fclose(stocks);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -