Search Results

Search found 21960 results on 879 pages for 'program termination'.

Page 836/879 | < Previous Page | 832 833 834 835 836 837 838 839 840 841 842 843  | Next Page >

  • 'Good' programming form in maintaining / updating / accessing files by entry

    - by zhermes
    Basic Question: If I'm storying/modifying data, should I access elements of a file by index hard-coded index, i.e. targetFile.getElement(5); via a hardcoded identifier (internally translated into index), i.e. target.getElementWithID("Desired Element"), or with some intermediate DESIRED_ELEMENT = 5; ... target.getElement(DESIRED_ELEMENT), etc. Background: My program (c++) stores data in lots of different 'dataFile's. I also keep a list of all of the data-files in another file---a 'listFile'---which also stores some of each one's properties (see below, but i.e. what it's name is, how many lines of information it has etc.). There is an object which manages the data files and the list file, call it a 'fileKeeper'. The entries of a listFile look something like: filename , contents name , number of lines , some more numbers ... Its definitely possible that I may add / remove fields from this list --- but in general, they'll stay static. Right now, I have a constant string array which holds the identification of each element in each entry, something like: const string fileKeeper::idKeys[] = { "FileName" , "Contents" , "NumLines" ... }; const int fileKeeper::idKeysNum = 6; // 6 - for example I'm trying to manage this stuff in 'good' programatic form. Thus, when I want to retrieve the number of lines in a file (for example), instead of having a method which just retrieves the '3'rd element... Instead I do something like: string desiredID = "NumLines"; int desiredIndex = indexForID(desiredID); string desiredElement = elementForIndex(desiredIndex); where the function indexForID() goes through the entries of idKeys until it finds desiredID then returns the index it corresponds to. And elementForIndex(index) actually goes into the listFile to retrieve the index'th element of the comma-delimited string. Problem: This still seems pretty ugly / poor-form. Is there a way I should be doing this? If not, what are some general ways in which this is usually done? Thanks!

    Read the article

  • Calling a webservice synchronously from a Silverlight 3 application?

    - by Lasse V. Karlsen
    I am trying to reuse some .NET code that performs some calls to a data-access-layer type service. I have managed to package up both the input to the method and the output from the method, but unfortunately the service is called from inside code that I really don't want to rewrite in order to be asynchronous. Unfortunately, the webservice code generated in Silverlight only produces asynchronous methods, so I was wondering if anyone had working code that managed to work around this? I tried the recipe found here: The Easy Way To Synchronously Call WCF Services In Silverlight, but unfortunately it times out and never completes the call. Or rather, what seems to happen is that the completed event handler is called, but only after the method returns. I am suspecting that the event handler is called from a dispatcher or similar, and since I'm blocking the main thread here, it never completes until the code is actually back into the GUI loop. Or something like that. Here's my own version that I wrote before I found the above recipe, but it suffers from the same problem: public static object ExecuteRequestOnServer(Type dalInterfaceType, string methodName, object[] arguments) { string securityToken = "DUMMYTOKEN"; string input = "DUMMYINPUT"; object result = null; Exception resultException = null; object evtLock = new object(); var evt = new System.Threading.ManualResetEvent(false); try { var client = new MinGatServices.DataAccessLayerServiceSoapClient(); client.ExecuteRequestCompleted += (s, e) => { resultException = e.Error; result = e.Result; lock (evtLock) { if (evt != null) evt.Set(); } }; client.ExecuteRequestAsync(securityToken, input); try { var didComplete = evt.WaitOne(10000); if (!didComplete) throw new TimeoutException("A data access layer web service request timed out (" + dalInterfaceType.Name + "." + methodName + ")"); } finally { client.CloseAsync(); } } finally { lock (evtLock) { evt.Close(); evt = null; } } if (resultException != null) throw resultException; else return result; } Basically, both recipes does this: Set up a ManualResetEvent Hook into the Completed event The event handler grabs the result from the service call, and signals the event The main thread now starts the web service call asynchronously It then waits for the event to become signalled However, the event handler is not called until the method above has returned, hence my code that checks for evt != null and such, to avoid TargetInvocationException from killing my program after the method has timed out. Does anyone know: ... if it is possible at all in Silverlight 3 ... what I have done wrong above?

    Read the article

  • java: useful example of a shutdown hook?

    - by Jason S
    I'm trying to make sure my Java application takes reasonable steps to be robust, and part of that involves shutting down gracefully. I am reading about shutdown hooks and I don't actually get how to make use of them in practice. Is there a practical example out there? Let's say I had a really simple application like this one below, which writes numbers to a file, 10 to a line, in batches of 100, and I want to make sure a given batch finishes if the program is interrupted. I get how to register a shutdown hook but I have no idea how to integrate that into my application. Any suggestions? package com.example.test.concurrency; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintWriter; public class GracefulShutdownTest1 { final private int N; final private File f; public GracefulShutdownTest1(File f, int N) { this.f=f; this.N = N; } public void run() { PrintWriter pw = null; try { FileOutputStream fos = new FileOutputStream(this.f); pw = new PrintWriter(fos); for (int i = 0; i < N; ++i) writeBatch(pw, i); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { pw.close(); } } private void writeBatch(PrintWriter pw, int i) { for (int j = 0; j < 100; ++j) { int k = i*100+j; pw.write(Integer.toString(k)); if ((j+1)%10 == 0) pw.write('\n'); else pw.write(' '); } } static public void main(String[] args) { if (args.length < 2) { System.out.println("args = [file] [N] " +"where file = output filename, N=batch count"); } else { new GracefulShutdownTest1( new File(args[0]), Integer.parseInt(args[1]) ).run(); } } }

    Read the article

  • C++ beginner question regarding chars

    - by Samwhoo
    I'm just messing around with some C++ at the moment trying to make a simple tic-tac-toe game and I'm running into a bit of a problem. This is my code: #include <iostream> using namespace std; class Square { public: char getState() const; void setState(char); Square(); ~Square(); private: char * pState; }; class Board { public: Board(); ~Board(); void printBoard() const; Square getSquare(short x, short y) const; private: Square board[3][3]; }; int main() { Board board; board.getSquare(1,2).setState('1'); board.printBoard(); return 0; } Square::Square() { pState = new char; *pState = ' '; } Square::~Square() { delete pState; } char Square::getState() const { return *pState; } void Square::setState(char set) { *pState = set; } Board::~Board() { } Board::Board() { } void Board::printBoard() const { for (int x = 0; x < 3; x++) { cout << "|"; for (int y = 0; y < 3; y++) { cout << board[x][y].getState(); } cout << "|" << endl; } } Square Board::getSquare(short x, short y) const { return board[x][y]; } Forgive me if there are blatantly obvious problems with it or it's stupidly written, this is my first program in C++ :p However, the problem is that when I try and set the square 1,2 to the char '1', it doesn't print out as a 1, it prints out as some strange character I didn't recognise. Can anyone tell me why? :) Thanks in advance.

    Read the article

  • How to use method hiding (new) with generic constrained class

    - by ongle
    I have a container class that has a generic parameter which is constrained to some base class. The type supplied to the generic is a sub of the base class constraint. The sub class uses method hiding (new) to change the behavior of a method from the base class (no, I can't make it virtual as it is not my code). My problem is that the 'new' methods do not get called, the compiler seems to consider the supplied type to be the base class, not the sub, as if I had upcast it to the base. Clearly I am misunderstanding something fundamental here. I thought that the generic where T: xxx was a constraint, not an upcast type. This sample code basically demonstrates what I'm talking about. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace GenericPartialTest { class ContextBase { public string GetValue() { return "I am Context Base: " + this.GetType().Name; } public string GetOtherValue() { return "I am Context Base: " + this.GetType().Name; } } partial class ContextSub : ContextBase { public new string GetValue() { return "I am Context Sub: " + this.GetType().Name; } } partial class ContextSub { public new string GetOtherValue() { return "I am Context Sub: " + this.GetType().Name; } } class Container<T> where T: ContextBase, new() { private T _context = new T(); public string GetValue() { return this._context.GetValue(); } public string GetOtherValue() { return this._context.GetOtherValue(); } } class Program { static void Main(string[] args) { Console.WriteLine("Simple"); ContextBase myBase = new ContextBase(); ContextSub mySub = new ContextSub(); Console.WriteLine(myBase.GetValue()); Console.WriteLine(myBase.GetOtherValue()); Console.WriteLine(mySub.GetValue()); Console.WriteLine(mySub.GetOtherValue()); Console.WriteLine("Generic Container"); Container<ContextBase> myContainerBase = new Container<ContextBase>(); Container<ContextSub> myContainerSub = new Container<ContextSub>(); Console.WriteLine(myContainerBase.GetValue()); Console.WriteLine(myContainerBase.GetOtherValue()); Console.WriteLine(myContainerSub.GetValue()); Console.WriteLine(myContainerSub.GetOtherValue()); Console.ReadKey(); } } }

    Read the article

  • C# A simple Hangman game

    - by Radostin Angelov
    I'm trying to create a simple Hangman game and i have gotten so far, to make it read all words from a text file, but I don't know how to make the code work for every single word. I have another project, working with 3/4 words but with repeating nested if statements. I want to make it as shorter as possible. This is the code i have so far : using System; using System.Linq; class Program { static void Main() { string[] words = System.IO.File.ReadAllLines(@"C:\Users\ADMIN\Desktop\Letters\Letters.txt"); int LengthOfArray = words.Length; Random rnd = new Random(); int random = rnd.Next(1, 3); char[] letters = words[random].ToCharArray(); bool WordIsHidden = true; char hiddenChar = '_'; char GuessedLetter = hiddenChar; var retry = true; while (retry = true) { Console.WriteLine(letters); letters = GuessedLetter.ToString().ToCharArray(); for (int i = 1; i <= LengthOfArray; i++) { Console.Write("{0} ", GuessedLetter); } Console.WriteLine("Enter a letter!"); char letter = char.Parse(Console.ReadLine()); if (words[random].Contains<char>(letter)) { WordIsHidden = false; GuessedLetter = letter; Console.Write(letters); } else { if (WordIsHidden == true) { Console.Write("You guessed wrong!"); } } } } } Also I'm trying to make the game show each letter, the user has guessed on it's corresponding position, but now the letter is one line higher than the rest of the word and it's not in it's right position. Edited: Here is the result : cat ___Enter a letter! a __ aaaEnter a letter! t aa tttEnter a letter! IF anyone have a clue for where does this come from and how can I fix it, any help will be greatly appreciated.

    Read the article

  • C: copying some structs causes strange behavior

    - by Jenny B
    I have an annoying bug in the line rq->tickets[rq->usedContracts] = toAdd; if i do: rq->tickets[0] = toAdd the program crashes if i do rq->tickets[1] = toAdd; it works valgrind says ==19501== Use of uninitialised value of size 8 and ==19501== Invalid write of size 8 for this very line. What is wrong? struct TS_element { int travels; int originalTravels; int cost; char** dates; int moneyLeft; } TicketSet; struct RQ_element { int usedContracts; struct TS_element* tickets; } RabQav; TicketSetStatus tsCreate(TicketSet* t, int n, int c) { if (n <= 0) return TS_ILLEGAL_PARAMETER; TicketSet* myTicketSet = (TicketSet*) malloc(sizeof(TicketSet)); if (myTicketSet == NULL) { return TS_CANNOT_CREATE; } myTicketSet->usedTravels = 0; myTicketSet->originalTravels = n; myTicketSet->cost = c; myTicketSet->moneyLeft = n * c; char** dates = malloc(sizeof(char**)* (n)); //todo maybe c99 allows dynamic arrays? for (int i = 0; i < n; i++) { dates[i] = malloc(sizeof(char)*GOOD_LENGTH+1); if (dates[i] == NULL) { free(dates); free(t); return TS_CANNOT_CREATE; } } myTicketSet->dates = dates; *t = *myTicketSet; return TS_SUCCESS; } static void copyTicketSets(TicketSet* dest, const TicketSet* source) { dest->usedTravels = source->usedTravels; dest->originalTravels = source->originalTravels; dest->cost = source->cost; dest->moneyLeft = source->moneyLeft; for (int i = 0; i < source->originalTravels; i++) { if (NULL != source->dates[i]) { free(dest->dates[i]); dest->dates[i] = malloc(sizeof(char) * GOOD_LENGTH + 1); if (dest->dates[i] == NULL) { free(dest->dates); //todo free dates 0...i-1 free(dest); return; } strcpy(dest->dates[i], source->dates[i]); } } } RabQavStatus rqLoadTS(RabQav* rq, TicketSet t, DateTime dt) { TicketSet toAdd; TicketSetStatus res = tsCreate(&toAdd, t.originalTravels, t.cost); if (res != TS_SUCCESS) { return RQ_FAIL; } copyTicketSets(&toAdd, &t); rq->tickets[rq->usedContracts] = toAdd; rq->usedContracts++; return RQ_SUCCESS; }

    Read the article

  • Why is the data I am printing not in a table format

    - by udaya
    Hi This is my program .when i submit the print button i can print the datas but they are not aligned in the table formatthe format in which i need the print to be...How can i print in the correct format <html> <head> <script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.1.min.js" > </script> <script type="text/javascript"> function PrintElem(elem) { //alert('ddd'); Popup($(elem).text()); } function Popup(data) { var mywindow = window.open('', 'mydiv', 'height=400,width=600'); mywindow.document.write('<html><head><title>my div</title>'); /*optional stylesheet*/ //mywindow.document.write('<link rel="stylesheet" href="main.css" type="text/css" />'); mywindow.document.write('</head><body >'); mywindow.document.write(data); mywindow.document.write('</body></html>'); mywindow.document.close(); mywindow.print(); return true; } </script> </head> <body> <div id="mydiv"> <table width="200" border="1"> <tr> <td>sss</td> <td>sssss;</td> <td>snssbsp;</td> </tr> <tr> <td>ssss;</td> <td>sssnbsp;</td> <td>snbsp;</td> </tr> <tr> <td>snbsp;</td> <td>snbsp;</td> <td>snbsp;</td> </tr> </table> </div> <input type="button" value="Print Div" onClick="PrintElem('#mydiv')" /> </body> </html>

    Read the article

  • Indexing with pointer C/C++

    - by Leavenotrace
    Hey I'm trying to write a program to carry out newtons method and find the roots of the equation exp(-x)-(x^2)+3. It works in so far as finding the root, but I also want it to print out the root after each iteration but I can't get it to work, Could anyone point out my mistake I think its something to do with my indexing? Thanks a million :) #include <stdio.h> #include <math.h> #include <malloc.h> //Define Functions: double evalf(double x) { double answer=exp(-x)-(x*x)+3; return(answer); } double evalfprime(double x) { double answer=-exp(-x)-2*x; return(answer); } double *newton(double initialrt,double accuracy,double *data) { double root[102]; data=root; int maxit = 0; root[0] = initialrt; for (int i=1;i<102;i++) { *(data+i)=*(data+i-1)-evalf(*(data+i-1))/evalfprime(*(data+i-1)); if(fabs(*(data+i)-*(data+i-1))<accuracy) { maxit=i; break; } maxit=i; } if((maxit+1==102)&&(fabs(*(data+maxit)-*(data+maxit-1))>accuracy)) { printf("\nMax iteration reached, method terminated"); } else { printf("\nMethod successful"); printf("\nNumber of iterations: %d\nRoot Estimate: %lf\n",maxit+1,*(data+maxit)); } return(data); } int main() { double root,accuracy; double *data=(double*)malloc(sizeof(double)*102); printf("NEWTONS METHOD PROGRAMME:\nEquation: f(x)=exp(-x)-x^2+3=0\nMax No iterations=100\n\nEnter initial root estimate\n>> "); scanf("%lf",&root); _flushall(); printf("\nEnter accuracy required:\n>>"); scanf("%lf",&accuracy); *data= *newton(root,accuracy,data); printf("Iteration Root Error\n "); printf("%d %lf \n", 0,*(data)); for(int i=1;i<102;i++) { printf("%d %5.5lf %5.5lf\n", i,*(data+i),*(data+i)-*(data+i-1)); if(*(data+i*sizeof(double))-*(data+i*sizeof(double)-1)==0) { break; } } getchar(); getchar(); free(data); return(0); }

    Read the article

  • C# recursive programming with lists

    - by David Torrey
    I am working on a program where each item can hold an array of items (i'm making a menu, which has a tree-like structure) currently i have the items as a list, instead of an array, but I don't feel like I'm using it to its full potential to simplify code. I chose a list over a standard array because the interface (.add, .remove, etc...) makes a lot of sense. I have code to search through the structure and return the path of the name (i.e. Item.subitem.subsubitem.subsubsubitem). Below is my code: public class Item { //public Item[] subitem; <-- Array of Items public List<Item> subitem; // <-- List of Items public Color itemColor = Color.FromArgb(50,50,200); public Rectangle itemSize = new Rectangle(0,0,64,64); public Bitmap itemBitmap = null; public string itemName; public string LocateItem(string searchName) { string tItemName = null; //if the item name matches the search parameter, send it up) if (itemName == searchName) { return itemName; } if (subitem != null) { //spiral down a level foreach (Item tSearchItem in subitem) { tItemName = tSearchItem.LocateItem(searchName); if (tItemName != null) break; //exit for if item was found } } //do name logic (use index numbers) //if LocateItem of the subitems returned nothing and the current item is not a match, return null (not found) if (tItemName == null && itemName != searchName) { return null; } //if it's not the item being searched for and the search item was found, change the string and return it up if (tItemName != null && itemName != searchName) { tItemName.Insert(0, itemName + "."); //insert the parent name on the left --> TopItem.SubItem.SubSubItem.SubSubSubItem return tItemName; } //default not found return null; } } My question is if there is an easier way to do this with lists? I've been going back and forth in my head as to whether I should use lists or just an array. The only reason I have a list is so that I don't have to make code to resize the array each time I add or remove an item.

    Read the article

  • makecontext segfault?

    - by cdietschrun
    I am working on a homework assignment that will be due in the next semester. It requires us to implement our own context switching/thread library using the ucontext API. The professor provides code that does it, but before a thread returns, he manually does some work and calls an ISR that finds another thread to use and swapcontexts to it or if none are left, exits. The point of the assignment is to use the uc_link field of the context so that when it hits a return it takes care of the work. I've created a function (type void/void args) that just does the work the functions did before (clean up and then calls ISR). The professor said he wanted this. So all that's left is to do a makecontext somewhere along the way on the context in the uc_link field so that it runs my thread, right? Well, when I do makecontext on seemingly any combination of ucontext_t's and function, I get a segfault and gdb provides no help.. I can skip the makecontext and my program exist 'normally' when it hits a return in the threads I created because (presumably) the uc_link field is not properly setup (which is what I'm trying to do). I also can't find anything on why makecontext would segfault. Can anyone help? stack2.ss_sp = (void *)(malloc(STACKSIZE)); if(stack2.ss_sp == NULL){ printf("thread failed to get stack space\n"); exit(8); } stack2.ss_size = STACKSIZE; stack2.ss_flags = 0; if(getcontext(&main_context) == -1){ perror("getcontext in t_init, rtn_env"); exit(5); } //main_context.uc_stack = t_state[i].mystk; main_context.uc_stack = stack2; main_context.uc_link = 0; makecontext(&main_context, (void (*)(void))thread_rtn, 0); I've also tried just thread_rtn, &thread_rtn and other things. thread_rtn is declared as void thread_rtn(void). later, in each thread. run_env is of type ucontext_t: ... t_state[i].run_env.uc_link = &main_context;

    Read the article

  • Telephone Directory

    - by Mizukage of Meron 5
    I need your help. We are ask to make a telephone directory program that asks your name, address, and telephone number. If the name you entered already exists, it will display that it already exists. This is what i have so far... #include<stdio.h> #include<conio.h> struct file { char name[25],address[25]; double telno; }; char tempname[25],tempadd[25]; double tempnum; int x; int choice; FILE *fp; main() { struct file rec; clrscr(); fp=fopen("TelDir.txt","a+"); while(!feof(fp)) { fscanf(fp,"%s %s %.0lf,&tempname,&tempadd,&tempnum); printf("\n%s\t\t%s\t\t\t%.0lf",tempname,tempadd,tempnum); printf("\nEnter Name: "); gets(rec.name); if(strcmp(rec.name,tempname)==1) { printf("\n\nALREADY EXIST!"); printf("\n%s\t\t%s\t\t\t%.0lf",tempname,tempadd,tempnum); getch(); } else { printf("Enter Address: "); scanf("%s",&rec.address); printf("Enter your Telephone No.: "); scanf("%lf",&rec.telno); printf("%s\t\t%s\t\t%\t\t0lf",rec.name,rec.address,rec.telno); fprintf(fp,"%s %s %.0lf\n",rec.name,rec.address,rec.telno); } } fclose(fp); getch(); } But this thing doesn't work. I don't know where the error is. Can someone help me on this? I would really appreciate if you could help me somehow.

    Read the article

  • How to use enumeration types in C++? Apply within example.

    - by Sagistic
    I do not understand how to use enumeration types. I understand what they are, but I don't quite get their purpose. I have made a program that inputs three sides of a triangle and outputs whether or not they are isosceles, scalene, or equilateral. I'm suppose to incorporate the enumeration type somewhere, but don't get where and how to use them. Any help would be appreciated. // h8p466x1.cpp : Defines the entry point for the console application. // include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { return 0; } include using namespace std; enum triangleType {scalene, isosceles, equilateral, noTriangle}; void triangleShape(double x, double y, double z); int main() { double x, y, z; cout << "Please enter the three sides of a triangle:" << endl; cout << "Enter side 1: "; cin >> x; cout << endl; cout << "Enter side 2: "; cin >> y; cout << endl; cout << "Enter side 3: "; cin >> z; cout << endl; triangleShape(x, y, z); return 0; } void triangleShape(double x, double y, double z) { if (((x+y) z) && ((x+z) y) && ((y+z) x)) { cout << "You have a triangle!" << endl; if (x == y && y == z) cout << "Your triangle is an equilateral" << endl; else if (x == y || x == z || y == z) cout << "Your triangle is an isosceles" << endl; else cout << "Your triangle is a scalene" << endl; } else if ((x+y) <= z || ((x+z) <= y) || ((y+z) <= x)) cout << "You do not have a triangle." << endl; }

    Read the article

  • How to use enumeration types in C++?

    - by Sagistic
    I do not understand how to use enumeration types. I understand what they are, but I don't quite get their purpose. I have made a program that inputs three sides of a triangle and outputs whether or not they are isosceles, scalene, or equilateral. I'm suppose to incorporate the enumeration type somewhere, but don't get where and how to use them. Any help would be appreciated. #include <iostream> using namespace std; enum triangleType {scalene, isosceles, equilateral, noTriangle}; void triangleShape(double x, double y, double z); int main() { double x, y, z; cout << "Please enter the three sides of a triangle:" << endl; cout << "Enter side 1: "; cin >> x; cout << endl; cout << "Enter side 2: "; cin >> y; cout << endl; cout << "Enter side 3: "; cin >> z; cout << endl; triangleShape(x, y, z); return 0; } void triangleShape(double x, double y, double z) { if (((x+y) > z) && ((x+z) > y) && ((y+z) > x)) { cout << "You have a triangle!" << endl; if (x == y && y == z) cout << "Your triangle is an equilateral" << endl; else if (x == y || x == z || y == z) cout << "Your triangle is an isosceles" << endl; else cout << "Your triangle is a scalene" << endl; } else if ((x+y) <= z || ((x+z) <= y) || ((y+z) <= x)) cout << "You do not have a triangle." << endl; }

    Read the article

  • Displaying individual elements of an object in an Arraylist through a for loop?

    - by user1180888
    I'm trying to Display individual elements of an Object I have created. It is a simple Java program that allows users to add and keep track of Player Details. I'm just stumped when it comes to displaying the details after they have been added already. here is what my code looks like I can create the object and input it into the arraylist no problem using the case 2, but when I try to print it out I want to do something like System.out.println("Player Name" + myPlayersArrayList.PlayerName + "Player Position" + myPlayerArrayList.PlayerPosition + "Player Age" + "Player Age"); I know that is not correct, but I dont really know what to do, if anyone can be of any help it would be greatly appreciated. Thanks System.out.println("Welcome to the Football Player database"); System.out.print(System.getProperty("line.separator")); UserInput myFirstUserInput = new UserInput(); int selection; ArrayList<Player> myPlayersArrayList = new ArrayList<Player>(); while (true) { System.out.println("1. View The Players"); System.out.println("2. Add A Player"); System.out.println("3. Edit A Player"); System.out.println("4. Delete A Player"); System.out.println("5. Exit ") ; System.out.print(System.getProperty("line.separator")); selection = myFirstUserInput.getInt("Please select an option"); System.out.print(System.getProperty("line.separator")); switch(selection){ case 1: if (myPlayersArrayList.isEmpty()) { System.out.println("No Players Have Been Entered Yet"); System.out.print(System.getProperty("line.separator")); break;} else {for(int i = 0; i < myPlayersArrayList.size(); i++){ System.out.println(myPlayersArrayList); } break; case 2: { String playerName,playerPos; int playerAge; playerName = (myFirstUserInput.getString("Enter Player name")); playerPos = (myFirstUserInput.getString("Enter Player Position")); playerAge = (myFirstUserInput.getInt("Enter Player Age")); myPlayersArrayList.add(new Player(playerName, playerPos, playerAge)); ; break; }

    Read the article

  • how to create multiple tcp connections between server and client

    - by lowcosthighperformance
    I am new in Unix/Linux networking programming, so I have written server-client program in below.In this code there is one socket between client and server, client requests to server, then server responses from 1 to 100 numbers to client. So my question is how can we do this process with 3 socket( tcp connection) without using thread? ( e.g. First socket runs then second runs then third runs then first again .. ) Do you have any suggestion? Thank you client.c int main() { int sock; struct sockaddr_in sa; int ret; char buf[1024]; int x; sock = socket (AF_INET, SOCK_STREAM, 0); bzero (&sa, sizeof(sa)); sa.sin_family = AF_INET; sa.sin_port = htons(SERVER_PORT); inet_pton (AF_INET, SERVER_IP, &sa.sin_addr); ret = connect (sock, (const struct sockaddr *) &sa,sizeof (sa)); if (ret != 0) { printf ("connect failed\n"); exit (0); } x = 0; while (x != -1) { read (sock, buf , sizeof(int)); x = ntohl(*((int *)buf)); if (x != -1) printf ("int rcvd = %d\n", x); } close (sock); exit (0); } server.c int main() { int list_sock; int conn_sock; struct sockaddr_in sa, ca; socklen_t ca_len; char buf[1024]; int i; char ipaddrstr[IPSTRLEN]; list_sock = socket (AF_INET, SOCK_STREAM, 0); bzero (&sa, sizeof(sa)); sa.sin_family = AF_INET; sa.sin_addr.s_addr = htonl(INADDR_ANY); sa.sin_port = htons(SERVER_PORT); bind (list_sock,(struct sockaddr *) &sa,sizeof(sa)); listen (list_sock, 5); while (1){ bzero (&ca, sizeof(ca)); ca_len = sizeof(ca); // important to initialize conn_sock = accept (list_sock,(struct sockaddr *) &ca,&ca_len); printf ("connection from: ip=%s port=%d \n",inet_ntop(AF_INET, &(ca.sin_addr), ipaddrstr, IPSTRLEN),ntohs(ca.sin_port)); for (i=0; i<100; ++i){ *((int *)buf) = htonl(i+20); // we using converting to network byte order write (conn_sock, buf, sizeof(int)); } * ((int *)buf) = htonl(-1); write (conn_sock, buf, sizeof(int)); close (conn_sock); printf ("server closed connection to client\n"); } }

    Read the article

  • Improving performance for WRITE operation on Oracle DB in Java

    - by Lucky
    I've a typical scenario & need to understand best possible way to handle this, so here it goes - I'm developing a solution that will retrieve data from a remote SOAP based web service & will then push this data to an Oracle database on network. Also, this will be a scheduled task that will execute every 15 minutes. I've event queues on remote service that contains the INSERT/UPDATE/DELETE operations that have been done since last retrieval, & once I retrieve the events for last 15 minutes, it again add events for next retrieval. Now, its just pushing data to Oracle so all my interactions are INSERT & UPDATE statements. There are around 60 tables on Oracle with some of them having 100+ columns. Moreover, for every 15 minutes cycle there would be around 60-70 Inserts, 100+ Updates & 10-20 Deletes. This will be an executable jar file that will terminate after operation & will again start on next 15 minutes cycle. So, I need to understand how should I handle WRITE operations (best practices) to improve performance for this application as whole ? Current Test Code (on every cycle) - Connects to remote service to get events. Creates a connection with DB (single connection object). Identifies the type of operation (INSERT/UPDATE/DELETE) & table on which it is done. After above, calls the respective method based on type of operation & table. Uses Preparedstatement with positional parameters, & retrieves each column value from remote service & assigns that to statement parameters. Commits the statement & returns to get event class to process next event. Above is repeated till all the retrieved events are processed after which program closes & then starts on next cycle & everything repeats again. Thanks for help !

    Read the article

  • Customs toString in Java not giving desired output and throwing error

    - by user2972048
    I am writing a program in Java to accept and validate dates according to the Gregorian Calendar. My public boolean setDate(String aDate) function for an incorrect entry is suppose to change the boolean goodDate variable to false. That variable is suppose tell the toString function, when called, to output "Invalid Entry" but it does not. My public boolean setDate(int d, int m, int y) function works fine though. I've only included the problem parts as its a long piece of code. Thanks public boolean setDate(int day, int month, int year){ // If 1 <= day <= 31, 1 <= month <= 12, and 0 <= year <= 9999 & the day match with the month // then set object to this date and return true // Otherwise,return false (and do nothing) boolean correct = isTrueDate(day, month, year); if(correct){ this.day = day; this.month = month; this.year = year; return true; }else{ goodDate = false; return false; } //return false; } public boolean setDate(String aDate){ // If aDate is of the form "dd/mm/yyyy" or "d/mm/yyyy" // Then set the object to this date and return true. // Otherwise, return false (and do nothing) Date d = new Date(aDate); boolean correct = isTrueDate(d.day, d.month, d.year); if(correct){ this.day = d.day; this.month = d.month; this.year = d.year; return true; }else{ goodDate = false; return false; } } public String toString(){ // outputs a String of the form "dd/mm/yyyy" // where dd must be 2 digits (with leading zero if needed) // mm must be 2 digits (with leading zero if needed) // yyyy must be 4 digits (with leading zeros if needed) String day1; String month1; String year1; if(day<10){ day1 = "0" + Integer.toString(this.day); } else{ day1 = Integer.toString(this.day); } if(month<10){ month1 = "0" + Integer.toString(this.month); } else{ month1 = Integer.toString(this.month); } if(year<10){ year1 = "00" + Integer.toString(this.year); } else{ year1 = Integer.toString(this.year); } if(goodDate){ return day1 +"/" +month1 +"/" + year1; }else{ goodDate = true; return "Invalid Entry"; } } Thank you

    Read the article

  • Split a binary file into chunks c++

    - by L4nce0
    I've been bashing my head against trying to first divide up a file into chunks, for the purpose of sending over sockets. I can read / write a file easily without splitting it into chunks. The code below runs, works, kinda. It will write a textfile and has a garbage character. Which if this was just for txt, no problem. Jpegs aren't working with said garbage. Been at it for a few days, so I've done my research, and it's time to get some help. I do want to stick strictly to binary readers, as this need to handle any file. I've seen a lot of slick examples out there. (none of them worked for me with jpgs) Mostly something along the lines of while(file)... I subscribe to the, if you know the size, use a for-loop, not a while-loop camp. Thank you for the help!! vector<char*> readFile(const char* fn){ vector<char*> v; ifstream::pos_type size; char * memblock; ifstream file; file.open(fn,ios::in|ios::binary|ios::ate); if (file.is_open()) { size = fileS(fn); file.seekg (0, ios::beg); int bs = size/3; // arbitrary. Actual program will use the socket send size int ws = 0; int i = 0; for(i = 0; i < size; i+=bs){ if(i+bs > size) ws = size%bs; else ws = bs; memblock = new char [ws]; file.read (memblock, ws); v.push_back(memblock); } } else{ exit(-4); } return v; } int main(int argc, char **argv) { vector<char*> v = readFile("foo.txt"); ofstream myFile ("bar.txt", ios::out | ios::binary); for(vector<char*>::iterator it = v.begin(); it!=v.end(); ++it ){ myFile.write(*it,strlen(*it)); } }

    Read the article

  • how a thread can signal when it's finished?

    - by Kyle
    #include <iostream> #include <boost/thread.hpp> using std::endl; using std::cout; using namespace boost; mutex running_mutex; struct dostuff { volatile bool running; dostuff() : running(true) {} void operator()(int x) { cout << "dostuff beginning " << x << endl; this_thread::sleep(posix_time::seconds(2)); cout << "dostuff is done doing stuff" << endl; mutex::scoped_lock running_lock(running_mutex); running = false; } }; bool is_running(dostuff& doer) { mutex::scoped_lock running_lock(running_mutex); return doer.running; } int main() { cout << "Begin.." << endl; dostuff doer; thread t(doer, 4); if (is_running(doer)) cout << "Cool, it's running.\n"; this_thread::sleep(posix_time::seconds(3)); if (!is_running(doer)) cout << "Cool, it's done now.\n"; else cout << "still running? why\n"; // This happens! :( return 0; } Why is the output of the above program: Begin.. Cool, it's running. dostuff beginning 4 dostuff is done doing stuff still running? why How can dostuff correctly flag when it is done? I do not want to sit around waiting for it, I just want to be notified when it's done.

    Read the article

  • 1-DimArray Counting same elements (0,1)

    - by Chris
    Hello, I have a 1-dim array that fills up a table of 40 random elements (all the values are either 0 or 1). So i wanne "count" the largest row of the values net to each otherto each other.. Meaning for example : 111100101 = the longest row would be 1111 (= 4 elements of the same kind closest to each other). So 011100 would result in the longest row being 3 elements (3 x 1). My problem i have no idea how to check upon the "next element" and check if its a 0 or 1. Like the first would be 1111 (count 4) but the next would be a 0 value = meaning i have to stop counting. My idea was placing this value (4) in a other array (example: 111100101) , and place the value of the 1's back on zero. And start the process all over again. To find the largest value i have made a other method that checks up the biggest value in the array that keeps track of the count of 0's 1's, this is not the problem. But i cannot find a way to fill the array tabelLdr up. (having all the values of the group of elements of the same kind (being 0 or 1). In the code below i have 2 if's and offcourse it will never go into the second if (to check if the next value in the array is != then its current state (being 0 or 1) Best Regards. public void BerekenDeelrij(byte[] tabel, byte[] tabelLdr) { byte LdrNul = 0, Ldréén = 0; //byte teller = 0; for (byte i = 0; i < tabel.Length; i++) { if (tabel[i] == 0) { LdrNul++; //this 2nd if cleary does not work, but i have no idea how to implend this sort of idea in my program. if (tabel[i] == 1) //if value != 0 then the total value gets put in the second array tabelLdr, { tabelLdr[i] = LdrNul; LdrNul = 0; } } if (tabel[i] == 1) { Ldréén++; if (tabel[i] == 0) { tabelLdr[i] = Ldréén; Ldréén = 0; } } }/*for*/ }

    Read the article

  • Handling macro redefinition without modifying .h files ... C / C++ language

    - by user310119
    Background: Let assume that I have two header files a.h and b.h. a.h contains: #define VAR 1 b.h contains: #define VAR 2 Note: The name of both of the macro is same. Let say I have some file myFile.c which includes both of the header files i.e. a.h and b.h. When I try to access VAR, I get a redefinition error of VAR. In order to resolve this problem, I inserted #ifndef VAR statement in both a.h and b.h files to prevent this error. a.h file becomes #ifndef VAR #define VAR 1 #endif b.h file becomes #ifndef VAR #define VAR 2 #endif Note: The header file can contain multiple macros, not just one macro. Problem: Let's assume that a.h and b.h files are obtained from third party library. These files don't contain #ifndef VAR statement. I am not allowed to change their header files. Can I resolve macro 'VAR' redefinition error in myFile.c or myFile.cpp file which uses VAR macro? I know I #undef VAR can be used to undefine a macro VAR. How can I selectively include VAR later in my program? i.e. on line 10 of myFile.c code I should be able to refer to VAR definition from a.h file, on line 15 of my code I should be able to refer to VAR from b.h file and on line 18 again I should be able to refer to VAR from a.h file. In short, am I able to do macro polymorphism ? Given a name of header file, it should refer to macro definition present in that file. I thought of using namespace trick to resolve an issue. Define first header file in namespace first and second header file in namespace second. I tried defining two namespaces. First namespace contains #include a.h and second namespace contains b.h. However, namespace trick does not work with macro. When I tried to access firstns::VAR, compiler reports an error message. Can you please suggest some way?

    Read the article

  • Second query to SQLite (on iPhone) errors.

    - by Luke
    Hi all, On the iPhone, I am developing a class for a cart that connects directly to a database. To view the cart, all items can be pulled from the database, however, it seems that removing them doesn't work. It is surprising to me because the error occurs during connection to the database, except not the second time I connect even after the DB has been closed. #import "CartDB.h" #import "CartItem.h" @implementation CartDB @synthesize database, databasePath; - (NSMutableArray *) getAllItems { NSMutableArray *items = [[NSMutableArray alloc] init]; if([self openDatabase]) { const char *sqlStatement = "SELECT * FROM items;"; sqlite3_stmt *compiledStatement; if(sqlite3_prepare_v2(cartDatabase, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) { while(sqlite3_step(compiledStatement) == SQLITE_ROW) { int rowId = sqlite3_column_int(compiledStatement, 0); int productId = sqlite3_column_int(compiledStatement, 1); NSString *features = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 2)]; int quantity = sqlite3_column_int(compiledStatement, 3); CartItem *cartItem = [[CartItem alloc] initWithRowId:rowId productId:productId features:features quantity:quantity]; [items addObject:cartItem]; [cartItem release]; } } sqlite3_finalize(compiledStatement); } [self closeDatabase]; return items; } - (BOOL) removeCartItem:(CartItem *)item { sqlite3_stmt *deleteStatement; [self openDatabase]; const char *sql = "DELETE FROM items WHERE id = ?"; if(sqlite3_prepare_v2(cartDatabase, sql, -1, &deleteStatement, NULL) != SQLITE_OK) { return NO; } sqlite3_bind_int(deleteStatement, 1, item.rowId); if(SQLITE_DONE != sqlite3_step(deleteStatement)) { sqlite3_reset(deleteStatement); [self closeDatabase]; return NO; } else { sqlite3_reset(deleteStatement); [self closeDatabase]; return YES; } } - (BOOL) openDatabase { if(sqlite3_open([databasePath UTF8String], &cartDatabase) == SQLITE_OK) { return YES; } else { return NO; } } - (void) closeDatabase { sqlite3_close(cartDatabase); } The error occurs on the line where the connection is opened in openDatabase. Any ideas? Need to flush something? Something gets autoreleased? I really can't figure it out. --Edit-- The error that I receive is GDB: Program received signal "EXC_BAD_ACCESS". --Edit-- I ended up just connecting in the init and closing in the free methods, which might not be the proper way, but that's another question altogether so it's effectively persistent instead of connecting multiple times. Still would be nice to know what was up with this for future reference.

    Read the article

  • safe dereferencing and deletion

    - by serejko
    Hi, I'm relatively new to C++ and OOP in general and currently trying to make such a class that allows to dereference and delete a dead or invalid pointer without any care of having undefined behavior or program fault in result, and I want to ask you is it a good idea and is there something similar which is already implemented by someone else? or maybe I'm doing something completely wrong? I've just started making it and here is the code I currently have: template<class T> class SafeDeref { public: T& operator *() { hash_set<T*>::iterator it = theStore.find(reinterpret_cast<T*>(ptr)); if (it != theStore.end()) return *this; return theDefaultObject; } T* operator ->() { hash_set<T*>::iterator it = theStore.find(reinterpret_cast<T*>(ptr)); if (it != theStore.end()) return this; return &theDefaultObject; } void* operator new(size_t size) { void* ptr = malloc(size * sizeof(T)); if (ptr != 0) theStore.insert(reinterpret_cast<T*>(ptr)); return ptr; } void operator delete(void* ptr) { hash_set<T*>::iterator it = theStore.find(reinterpret_cast<T*>(ptr)); if (it != theStore.end()) { theStore.erase(it); free(ptr); } } protected: static bool isInStore(T* ptr) { return theStore.find(ptr) != theStore.end(); } private: static T theDefaultObject; static hash_set<T*> theStore; }; The idea is that each class with the safe dereference should be inherited from it like this: class Foo : public SafeDeref<Foo> { void doSomething(); }; So... Any advices? Thanks in advance. P.S. If you're wondering why I need this... well, I'm creating a set of native functions for some scripting environment, and all of them use pointers to internally allocated objects as handles to them and they're able to delete them as well (input data can be wrong), so this is kinda protection from damaging host application's memory And I really sorry for my bad English

    Read the article

  • Resource id #45 [on hold]

    - by user2916506
    What is this error? I am trying to connect from PHP to Traffic Live mysql and do a POST and at some id's I get this error. With the biggest part of contacts my code works just fine but it keeps getting this trouble maker. What can I do? Here is the trouble making code:if ($sales_datemodified[$h] $traffic_datemodified[$t]) { //if ($traffic_id[$t] != 22033) { $postrequestclient = $clients - post("staff/employee", null, '{"@class": "com.sohnar.trafficlite.transfer.trafficcompany.TrafficEmployeeTO", "id": ' . $traffic_id[$t] . ',"locationId":' . $traffic_locationid[$t] . ', "departmentId": ' . $traffic_departmentid[$t] . ', "ownerCompanyId": ' . $traffic_ownercompanyid[$t] . ',"userId": ' . $traffic_userid[$t] . ',"userName": "' . $traffic_username[$t] . '","employeeDetails": {"id": ' . $traffic_id[$t] . ',"jobTitle": "' . $sales_title[$h] . '","costPerHour": { "amountString": ' . $traffic_amountString[$t] . ', "currencyType": "' . $traffic_currencyType[$t] . '"},"hoursWorkedPerDayMinutes": ' . $traffic_hwpdm[$t] . ', "personalDetails": {"id": ' . $traffic_persdetId[$t] . ', "firstName": "' . $sales_firstname[$h] . '","middleName": "' . $traffic_middleName[$t] . '","lastName": "' . $sales_lastname[$h] . '", "emailAddress": "' . $traffic_username[$t] . '","workPhone": "' . $sales_phone[$h] . '","mobilePhone": "' . $sales_mobilephone[$h] . '" }}}') - setAuth(user, password); $postresponseclient = $postrequestclient - send() - json(); I don't have any errors in my code. That commented "if" is for excluding the trouble making contact on which I get this error. If I uncomment that the program runs fine without any problems. The problem is that this test is made on a small number of contacts and if I add more contacts to the test I get more errors of this kind. this should be a synchronization job so excluding all the "bad" contacts won't work

    Read the article

< Previous Page | 832 833 834 835 836 837 838 839 840 841 842 843  | Next Page >