1. 求设计一个股票交易系统编程 用C++编写的 要求如下:
定投指数型基金:大成沪深300后端收费,现在可以确定的是,股市指数在未来三年是上涨的,所以盈利也是必然的。
2. 想用C++自己编一个选股票的程序,怎么搞?
每个股票软件都有可以选股的外挂,你仔细阅读软件提供的说明书即可获取接口,进行自定义编程选股。
3. 使用c++代码做个个人财政支出管理系统
你在做梦?这个程序起码值几钱快
4. c语言个人股票管理系统,只要运行结果和分析,有吗?亲
给个邮箱
发给你
5. 个人账务管理系统 用C或者C++设计,拜托要尽量详尽。
/ / / / / / / / / / / / / / / / / / / / / / / / /
这是我大二的数据结构课堂作业,而现在的电脑放在给你,它应该符合你的老师的要求。编译环境是VC + + 6.0
如果你不使用的话,问题补充说,“患者”是暂时的,我给你了,随便写,你不会失去命令要求我看明白例子。
/ ********************************************* ******************** /
包括
包括是否</ #包括
#包括
#包括WINDOWS.H>
/ /清除当前的屏幕...... />#ClearScreen()系统(“CLS”)
/ /显示字符串szPrompt并等待用户按任意键
定义暂停(szPrompt),printf(“请% “,szPrompt)参考getch()
类型定义结构carinformation的/ /车辆信息
{
字符szRegistrationMark [64]; /?? /车牌号
>和字符szArrivalTime [16]; / /到达时间
字符szEntranceTime [16]; / /进入停车场开始计费的时间
字符szDepartureTime [16]; / /发车时间 BR />} TCARINFORMATION,LPTCARINFORMATION;
typedef结构carstack的
{
LPTCARINFORMATION lpCarInformation; / /车辆信息
诠释NTOP / /顶部的元素的下标
诠释nStackSize / /堆栈容量
} TCARSTACK,* LPTCARSTACK;
> / /初始化堆栈lpCarStack的,它的容量设置为n大小
无效InitStack(LPTCARSTACK lpCarStack,n大小)
{
lpCarStack =(LPTCARSTACK)的malloc(sizeof(TCARSTACK)的);
lpCarStack - > lpCarInformation =( LPTCARINFORMATION)的malloc(
n大小sizeof(TCARINFORMATION)的
)
lpCarStack - > NTOP = -1;
lpCarStack - > nStackSize = n大小;
}
/ /车辆信息carinfo堆栈lpCarStack
无效的Push(LPTCARSTACK lpCarStack TCARINFORMATION carinfo)
{
lpCarStack - > NTOP + +;
> lpCarStack lpCarInformation [lpCarStack - > NTOP] = carinfo;
}
/ /车辆信息从堆栈中lpCarStack,流行的和存款carinfo的
“无效流行(LPTCARSTACK lpCarStack TCARINFORMATION carinfo)
{
carinfo = lpCarStack - > lpCarInformation [lpCarStack - > NTOP];
lpCarStack - > NTOP - ;}
/ /如果堆栈lpCarstack是空的??,则返回TRUE,否则返回FALSE
的BOOL IsStackEmpty(LPTCARSTACK lpCarStack)
返回lpCarStack - > NTOP = = -1;
}
/ /堆栈lpStackFull的完整的,则返回TRUE,否则返回FALSE
,BOOL IsStackFull(LPTCARSTACK lpCarStack)
{ BR />的回报lpCarStack - > NTOP ==(lpCarStack - > nStackSize - 1);
}
/ /被破坏的堆栈lpCarStack,设置为NULL指针lpCarStack BR />的的无效DestroyStack(LPTCARSTACK lpCarStack)
{
免费(lpCarStack - > lpCarInformation);
免费(lpCarStack);
lpCarStack = NULL;
} BR />
typedef结构carnode / /链团队节点
{
TCARINFORMATION carinfo; / /车辆信息
结构carnode * lpNext; / /指向下一个元素的指针
} TCARNODE LPTCARNODE;
typedef结构
carqueue / /链团队
{
LPTCARNODE lpHead / /头节点
LPTCARNODE lpRear; / /指向尾指针
诠释nEffectiveSize / /在球队中的元素个数
} TCARQUEUE LPTCARQUEUE;
/ /初始化链团队lpCarQueue
的无效InitQueue(LPTCARQUEUE lpCarQueue)
{
lpCarQueue =(LPTCARQUEUE)的malloc(大小(TCARQUEUE));
lpCarQueue - > lpHead =(LPTCARNODE )的malloc(大小(TCARNODE));
lpCarQueue> lpHead - > lpNext = NULL;
lpCarQueue - > lpRear = lpCarQueue - > lpHead;
lpCarQueue - > nEffectiveSize = 0;
}
/ /的车辆信息carinfo排队lpCarQueue
无效排队(LPTCARQUEUE lpCarQueue,TCARINFORMATION carinfo)
{
LPTCARNODE lpCarNode (LPTCARNODE)?的malloc(大小(carnode));
lpCarNode - > carinfo = carinfo;
lpCarNode> lpNext = NULL;
lpCarQueue - > lpRear> lpNext = lpCarNode;
lpCarQueue - > lpRear = lpCarQueue,> lpRear - > lpNext,
lpCarQueue - > nEffectiveSize + +;
}
/ / HOL元素链团队lpCarQueue在一个团队和存款carinfo的
无效DEQUEUE(LPTCARQUEUE,与lpCarQueue TCARINFORMATION的carinfo)
{
LPTCARNODE lpTemp = lpCarQueue - > lpHead - > lpNext中;
carinfo = lpTemp - > carinfo的;
lpCarQueue> lpHead - > lpNext = lpTemp - > lpNext;
免费(lpTemp);
lpCarQueue - > nEffectiveSize -
}
a>
/ /链团队lpCarQueue的,否则,返回FALSE
,BOOL IsQueueEmpty(LPTCARQUEUE lpCarQueue)
{
回报lpCarQueue - > nEffectiveSize == 0; />}
/ /破坏链团队lpCarQueue
的无效DestroyQueue(LPTCARQUEUE lpCarQueue)
{
LPTCARNODE lpNextCarNode = NULL;
(LPTCARNODE lpCarNode,以lpCarQueue lpHead; lpCarNode!= NULL; lpCarNode = lpNextCarNode)
{
lpNextCarNode lpCarNode - > lpNext;
免费(lpCarNode );
}
免费(lpCarQueue);
lpCarQueue = NULL;
}
/ /字符串转换为数字格式(分钟)格式,例如12:36将被转换为756(12 * 60 + 36)
诠释ConvertTimeFormat(CHAR * lpTime)
{
诠释nHour = 0;
>诠释nMinute = 0;
sscanf的(lpTime,“%d:%d”的,与nHour,与nMinute);
回报nHour * 60 + nMinute; />}
/ /在停车场的停留时间nContinuanceMinutes的时间(分钟)费用
的双CalculateExpense(诠释第nContinuanceMinutes)
{
回报nContinuanceMinutes *(5.0 / 60);
}
诠释的主要(无效)
{
诠释nParkCapability = 0; / /停车容量 / a>
的putchar('\ n');
printf的(“请输入一个停车场容量:”);
scanf的(“%d”,&nParkCapability);
LPTCARSTACK lpCarStack = NULL; / /停车场栈模拟
InitStack(lpCarStack,nParkCapability);
LPTCARQUEUE lpCarQueue = NULL; / /人行道上,一个链团队的模拟
InitQueue(lpCarQueue);
字符cCommandType = NULL; / /命令类型
字符szUserInput [128] = / /用户输入
{
ClearScreen();
的putchar('\ n');
看跌期权(“-------------------- “);
看跌期权(”命令“);
看跌期权(”A - 车辆到达),
看跌期权(D - 车辆离开“); ...... />看跌期权(“E - 停止输入);
看跌期权(”O - 显示当前的停车场和人行道的使用);
道理也适用于函数putchar('\ n');提出(“示例:”);
看跌期权(“A,吉A1234,14:26”);
看跌期权(“D 16:51,河北A1234”);
看跌期权( “E”);
看跌期权(“O”);
的putchar('\ n');
printf的(“请输入以下命令:”);
scanf函数(“%s”,szUserInput);
看跌期权(“--------------------”);
字符szCarInformation [128] =
分别
%?%S“,
和cCommandType / /用户输入上半年,而且sscanf的(szUserInput / /命令类型车辆信息存储是
下半年的szCarInformation / /用户输入的命令的类型,即车辆信息
)
字符* lpCommaLocation = NULL; / /字符串中的小数点的位置车辆信息
(lpCommaLocation中= szCarInformation; * lpCommaLocation!='\ 0'; lpCommaLocation + +)
{
(* lpCommaLocation ==',') /> {
突破;
}
}
* lpCommaLocation ='\ 0';
TCARINFORMATION carinfo =; / /存储用户输入车辆信息
的strcpy(carinfo.szRegistrationMark,szCarInformation)的;
(cCommandType =='A')
{
使用strcpy(carinfo.szArrivalTime, lpCommaLocation + 1);
(FALSE == IsStackFull(lpCarStack))
{
的strcpy(carinfo.szEntranceTime,carinfo.szArrivalTime)的;
推(lpCarStack carinfo)
printf的(“进入停车场第%d空间\ n”,
lpCarStack - > NTOP + 1
)
printf的(车牌号: \ t \ t%S \ n“,carinfo.szRegistrationMark);
printf的(”输入时间:\ t%S \ n“,carinfo.szEntranceTime);
看跌期权(”是否收费: \ t“);
}
其他
{
排队(lpCarQueue carinfo);
printf的(”停车场满了,停在人行道上%d的停车空间\ n“,
lpCarQueue nEffectiveSize
)
的printf(车牌号:\ t \ t其中%s \ n”,carinfo.szRegistrationMark); <BR /输出(“停车时间:\ t%S \ n”,carinfo.szArrivalTime);
看跌期权(“是否收费:\ t”);
}
}
否则,如果(cCommandType =='D')
{
使用strcpy(carinfo.szDepartureTime,lpCommaLocation + 1);
LPTCARSTACK lpTempCarStack = NULL;
InitStack (lpTempCarStack,nParkCapability);
TCARINFORMATION carinfoOut =;
BOOL bIsCarFound = FALSE;
(FALSE == IsStackEmpty(lpCarStack))
{
流行(lpCarStack,carinfoOut);
(0!=的strcmp(carinfoOut.szRegistrationMark,carinfo.szRegistrationMark)的)
{
的的推(lpTempCarStack,carinfoOut);
>}
其他
{
bIsCarFound = TRUE;
突破;
}
}
(FALSE == IsStackEmpty (lpTempCarStack))
{
TCARINFORMATION tempcarinfo =;
流行(lpTempCarStack,tempcarinfo);
的的推(lpCarStack,tempcarinfo);
}
(FALSE == bIsCarFound)
{
printf的(“%s的车的车牌号为没有进入停车场。\ n”,carinfo.szRegistrationMark);
暂停(“-------------------- \ n按任意键即可进入下一个消息... \ n”);
继续;
>}
的strcpy(carinfoOut.szDepartureTime,carinfo.szDepartureTime)的;
诠释nEntranceTime ConvertTimeFormat(carinfoOut.szEntranceTime);
诠释nDepartureTime = ConvertTimeFormat(carinfoOut.szDepartureTime); BR />诠释nContinuanceMinutes = nDepartureTime - nEntranceTime;
printf的(“计费周期:\ T%S - %S(%d分钟)\ n”,
carinfoOut.szEntranceTime
carinfoOut.szDepartureTime
nContinuanceMinutes
)在
一个双rExpense的:= CalculateExpense(nContinuanceMinutes);
printf(“请应缴纳的费用:\ t%.1如果\ n”, rExpense);
(FALSE == IsQueueEmpty(lpCarQueue))
{
TCARINFORMATION tempcarinfo =;
DEQUEUE(lpCarQueue,tempcarinfo);
STRCPY (tempcarinfo.szEntranceTime,carinfoOut.szDepartureTime);
的推(lpCarStack,tempcarinfo);
看跌期权(“--------------------”)
printf的(“在人行道上停放%的汽车进入停车场的一个车位,车牌号\ n”,
tempcarinfo.szRegistrationMark
);
}
}
其他(cCommandType =='E')
{
看跌期权(“****************** *“);
看跌期权(陈赛 - Build20090507 \ n”);
看跌期权(“********************”)
突破;
}
其他(cCommandType =='O')
{
ClearScreen();
道理也适用于函数putchar('\ N');
看跌期权(“[停车场] \ n”);
看跌期权(“[停车场] \ t [车牌号] \ T抵达时间\ T [时间] \ N“)到(计费);
(INT I = 0;的我的NTOP,我+ +)
{
printf的(”%d \ t%的小号\ t \ t其中%s \ t \ t%S \ n“,
+ 1,
lpCarStack - > lpCarInformation [I]。szRegistrationMark,
lpCarStack - > lpCarInformation [I]。 szArrivalTime,
lpCarStack - > lpCarInformation [I]。szEntranceTime
);
}
的putchar('\ n');
的putchar('\ n') ;
的putchar('\ n');
看跌期权(“人行道使用的情况下] \ n”);
看跌期权(“[停车场] \ T [车牌号] \ T抵达时间] \ T [输入(计费)时间] \ n“);
诠释nNum = 0;
(LPTCARNODE lpCarNode = lpCarQueue - > lpHead - > lpNext; BR /> lpCarNode!= NULL; lpCarNode = lpCarNode> lpNext)
{
nNum + +;
printf的(“%d \ T%\吨\ t%S \ T \ t其中%s \ n“,
nNum,
lpCarNode - > carinfo.szRegistrationMark,
lpCarNode - > carinfo.szArrivalTime,
lpCarNode - > carinfo.szEntranceTime
) ;
}
的putchar('\ n');
}
其他
{
看跌期权(“输入的信息是否正确的第一个字符为'A '或'D'或'E'或'O'(区分大小写)。“);
}
暂停(”---------------- ---- \ n按任意键即可进入下一个消息。\ n“);
},而(TRUE);
DestroyStack的(lpCarStack);
< /暂停(“\ n按任意键退出程序... \ n”); <BR的
DestroyQueue(lpCarQueue); />
返回0;
}
6. 学生基本信息管理系统C++源代码
#include #include #include using namespace std;typedef struct student { unsigned m_id; string m_name; unsigned m_age; string m_sex; string m_address; string m_contact; string m_dormitory; struct student *m_next;}student;class CStudent {private : student *head;public : CStudent() { head = new student; head->m_id = 0; head->m_name = "noname"; head->m_next = NULL; } ~CStudent() { student *p = head,*q; while(p) { q = p; p = q->m_next; delete q; } } student readdata(int model); // model = 1:不读取学号,2:不读取姓名,其他,读取所有信息 void entering(); bool insert(const student &astu); student *findid(unsigned id) const; student *findname(const string &name) const; student *findsex(const string &sex) const; student *finddormitory(const string &dormitory) const; unsigned boys() const; unsigned girls() const; unsigned headcount() const; bool eraseid(); bool erasename(); bool modifyid(); bool modifyname(); void Show() const; void query() const; void friend statistics(const CStudent &aclss); void friend erase(CStudent &aclss); void friend modify(CStudent &aclss);};string readstring() { string str; while(cin.get() != '\n'); cin >> str; return str;}student CStudent::readdata(int model) { student tmp; if(model != 1) { cout > tmp.m_id; } if(model != 2) { cout > tmp.m_age; cout > tmp.m_id; while(tmp.m_id) { if(findid(tmp.m_id) == NULL) { cout > tmp.m_age; cout > tmp.m_id; }}student *CStudent::findid(unsigned id) const { student *p; for(p = head; p->m_next; p = p->m_next) if(p->m_next->m_id == id) return p; return NULL;}student *CStudent::findname(const string &name) const { student *p; for(p = head; p->m_next; p = p->m_next) if(p->m_next->m_name == name) return p; return NULL;}student *CStudent::findsex(const string &sex) const { student *p; for(p = head; p->m_next; p = p->m_next) if(p->m_next->m_sex == sex) return p; return NULL;}student *CStudent::finddormitory(const string &dormitory) const { student *p; for(p = head; p->m_next; p = p->m_next) if(p->m_next->m_dormitory == dormitory) return p; return NULL;}bool CStudent::insert(const student &astu) { student *newnode,*p = head; if(p->m_next == NULL) { p->m_next = new student(astu); p->m_next->m_next = NULL; return true; } while(p->m_next) { if(p->m_next->m_id == astu.m_id) { cout m_next->m_id > astu.m_id) { newnode = new student(astu); newnode->m_next = p->m_next; p->m_next = newnode; return true; } p = p->m_next; } p->m_next = new student(astu); p->m_next->m_next = NULL; return true;}unsigned CStudent::boys() const { unsigned cnt = 0; student *p; for(p = head->m_next; p; p = p->m_next) if(p->m_sex == "男") ++cnt; return cnt;}unsigned CStudent::girls() const { unsigned cnt = 0; student *p; for(p = head->m_next; p; p = p->m_next) if(p->m_sex == "女") ++cnt; return cnt;}unsigned CStudent::headcount() const { unsigned cnt = 0; student *p; for(p = head->m_next; p; p = p->m_next,++cnt); return cnt;}bool CStudent::eraseid() { student *q,*p; unsigned id; cout > id; p = findid(id); if(p == NULL) { cout m_next; p->m_next = q->m_next; delete q; return true;}bool CStudent::erasename() { student *q,*p; string name; cout m_next; p->m_next = q->m_next; delete q; return true;}bool CStudent::modifyid() { student tmp,*p; unsigned id; cout > id; p = findid(id); if(p == NULL) { cout > choice; }while(choice 7); return choice;}void show(student *p) { cout m_id m_name m_age m_sex m_address m_contact m_dormitory m_next; p; p = p->m_next) show(p); cout > select; switch(select) { case 1 : cout > id; if(p = findid(id)) show(p->m_next); break; case 2 : cout m_next); break; case 0 : return; default : cout > select; switch(select) { case 1 : cout > id; if(p = a.findid(id)) { q = p->m_next; p->m_next = q->m_next; delete q; cout m_next; p->m_next = q->m_next; delete q; cout > select; switch(select) { case 1 : if(a.modifyid()) cout << "修改成功。\n"; break; case 2 : if(a.modifyname()) cout << "修改成功。\n"; break; case 0 : return; default : cout << "选择错误。\n"; } system("pause");}int main() { CStudent a; int an; do { an = menu(); switch(an) { case 1 : a.entering(); break; case 2 : a.Show(); break; case 3 : a.query(); break; case 4 : a.entering(); break; case 5 : statistics(a); break; case 6 : erase(a); break; case 7 : modify(a); break; case 0 : break; default : cout << "选择错误。\n"; break; } }while(an); return 0;}
7. 用C++写的个人资金账户管理
#include"stdio.h"
#include"stdlib.h"
long size; /*当前最近一次的流水号*/
struct LogData{ /*记录的结构*/
long logid; /*记录ID*/
char logdate[11]; /*记录发生日期*/
char lognote[15]; /*记录事件说明*/
double charge; /*发生费用:负表示支出,正表示收入*/
double balance; /*余额*/
};
int inputchoice() /*选择操作参数*/
{
int mychoice;
printf("\nEnter your choice:\n");
printf("1-Add a new cash LOG.\n2-List All Cash LOG.\n");
printf("3-Query Last Cash LOG.\n0-End program.\n");
scanf("%d",&mychoice);
return mychoice;
}
long getLogcount(FILE*cfptr) /*获取文件记录总数*/
{
long begin,end,logcount;
fseek(cfptr,0L,SEEK_SET);
begin=ftell(cfptr);
fseek(cfptr,size,SEEK_END);
end=ftell(cfptr);
logcount=(end-begin)/size-1;
return logcount;
}
void ListAllLog(FILE*cfptr) /*列出所有收支流水帐*/
{
struct LogData log;
fseek(cfptr,0L,SEEK_SET); /*定位指针到文件开始位置*/
fread(&log,size,1,cfptr);
printf("logid logdata lognote charge balance\n");
while(!feof(cfptr)){
printf("%6ld%-11s%-15s%10.2lf%10.2lf\n",
log.logid,log.logdata,log.lognote,log.chargge,log.balance);
fread(&log.size,1,cfptr);
};
}
void QueryLastLog(FILE*cfptr) /*查询显示最后一条记录*/
{
struct LogData log;
long logcount;
logcount=getLogcount(cfptr);
if(logcount>0) /*表示有记录存在*/
{
fseek(cfptr,size*(logcount-1),SEEK_SET); /*定位最后记录*/
fread(&log,size,1,cfptr); /*读取最后记录*/
printf("The last log is:\n");
printf("logid:%-6ld\nlogdata:%-11s\nlognote:%-15s\n",
log.logid,log.logdata,log.lognote);
printf("charge:%-10.2lf\nbalance:%-10.2lf\n",
log.charge,log.balance); /*显示最后记录内容*/
}
else printf("no logs in file!\n");
}
void AddNewLog(FILE*cfptr) /*添加新纪录*/
{
struct LogData log,lastlog;
long logcount;
printf("Input logdate(format:2006-01-01):");
scanf("%s",log.logdate);
printf("Input lognote:");
scanf("%s",log.lognote);
printf("Input Charge:Income+and expend-:");
scanf("%lf",&log.charge);
logcount=getLogcount(cfptr); /*获取记录数*/
if(logcount>0){
fseek(cfptr,size*(logcount-1),SEEK_SET);
fread(&lastlog,size,1,cfptr); /*读入最后记录*/
log.logid=lastlog.logid+1; /*记录号按顺序是上次的+1*/
log.balance=log.charge+lastlog.balance;
}
else{ /*如果文件是初始状态,记录数为0*/
log.logid=1;
log.balance=log.charge;
}
rewind(cfptr);
printf("logid=%ld\n",log.logid);
fwrite(&log.sizeof(struct LogData),1,cfptr); /*写入记录*/
}
FILE*openfile(char*openmode) /*打开文件*/
{
FILE*fp;
if((fp=fopen("cashbox.dat",openmode))==NULL){
printf("can not open file cashbox.dat!\n");
exit(0);
}
return(fp);
}
int main(void)
{
FILE*fp;
int choice;
size=sizeof(struct LogData);
while((choice=inputchoice())!=0){
switch(choice){
case1:
fp=openfile("ab+");
AddNewLog(fp);
break;
case2: /*列出所有的收入支出情况*/
fp=openfile("rb");
ListAllLog(fp);
break;
case3: /*查询最后记录及余额*/
fp=openfile("rb");
QueryLastLog(fp);
break;
default:
printf("Input Error.");
break;
}
}
if(fclose(fp)){
printf("Can not close the file!\n");
exit(0);
}
return 0;
}
8. 用c++ 定义一个类Stock,记录一支股票交易的基本信息。
你是不愿意写代码吧,这个不难啊,基本学过类的都会
定义类Stock,里面有上述的私有成员变量,以及各个成员变量的公有set 和 get方法
再在main函数中创建连个变量
Stock todayStock;
Stock yesterdayStock;
再分别调用set函数,然后再计算涨幅、输出,很简单啊